TPTP Problem File: ITP179^2.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : ITP179^2 : TPTP v8.2.0. Released v7.5.0.
% Domain   : Interactive Theorem Proving
% Problem  : Sledgehammer StandardRules problem prob_555__5392816_1
% Version  : Especial.
% English  :

% Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
%          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% Source   : [Des21]
% Names    : StandardRules/prob_555__5392816_1 [Des21]

% Status   : Theorem
% Rating   : 0.00 v8.1.0, 0.25 v7.5.0
% Syntax   : Number of formulae    :  340 ( 141 unt;  59 typ;   0 def)
%            Number of atoms       :  691 ( 260 equ;   0 cnn)
%            Maximal formula atoms :   13 (   2 avg)
%            Number of connectives : 5618 (  68   ~;   6   |;  54   &;5227   @)
%                                         (   0 <=>; 263  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   28 (   8 avg)
%            Number of types       :    4 (   3 usr)
%            Number of type conns  :  109 ( 109   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   57 (  56 usr;   4 con; 0-6 aty)
%            Number of variables   : 1121 (  41   ^;1000   !;  11   ?;1121   :)
%                                         (  69  !>;   0  ?*;   0  @-;   0  @+)
% SPC      : TH1_THM_EQU_NAR

% Comments : This file was generated by Sledgehammer 2021-02-23 16:23:56.500
%------------------------------------------------------------------------------
% Could-be-implicit typings (8)
thf(ty_t_LabeledGraphSemantics_OStandard__Constant,type,
    standard_Constant: $tType > $tType ).

thf(ty_t_LabeledGraphs_Olabeled__graph,type,
    labeled_graph: $tType > $tType > $tType ).

thf(ty_t_Product__Type_Oprod,type,
    product_prod: $tType > $tType > $tType ).

thf(ty_t_Sum__Type_Osum,type,
    sum_sum: $tType > $tType > $tType ).

thf(ty_t_Set_Oset,type,
    set: $tType > $tType ).

thf(ty_t_Nat_Onat,type,
    nat: $tType ).

thf(ty_tf_b,type,
    b: $tType ).

thf(ty_tf_a,type,
    a: $tType ).

% Explicit typings (51)
thf(sy_cl_HOL_Otype,type,
    type: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Oone,type,
    one: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ozero,type,
    zero: 
      !>[A: $tType] : $o ).

thf(sy_cl_Orderings_Obot,type,
    bot: 
      !>[A: $tType] : $o ).

thf(sy_cl_Orderings_Oord,type,
    ord: 
      !>[A: $tType] : $o ).

thf(sy_cl_Orderings_Oorder,type,
    order: 
      !>[A: $tType] : $o ).

thf(sy_cl_Orderings_Olinorder,type,
    linorder: 
      !>[A: $tType] : $o ).

thf(sy_cl_Orderings_Opreorder,type,
    preorder: 
      !>[A: $tType] : $o ).

thf(sy_cl_Rings_Ozero__neq__one,type,
    zero_neq_one: 
      !>[A: $tType] : $o ).

thf(sy_cl_Orderings_Oorder__bot,type,
    order_bot: 
      !>[A: $tType] : $o ).

thf(sy_cl_Rings_Olinordered__nonzero__semiring,type,
    linord1659791738miring: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocanonically__ordered__monoid__add,type,
    canoni770627133id_add: 
      !>[A: $tType] : $o ).

thf(sy_c_Equiv__Relations_Oequiv,type,
    equiv_equiv: 
      !>[A: $tType] : ( ( set @ A ) > ( set @ ( product_prod @ A @ A ) ) > $o ) ).

thf(sy_c_Groups_Oone__class_Oone,type,
    one_one: 
      !>[A: $tType] : A ).

thf(sy_c_Groups_Ozero__class_Ozero,type,
    zero_zero: 
      !>[A: $tType] : A ).

thf(sy_c_LabeledGraphSemantics_OStandard__Constant_OS__Bot,type,
    standard_S_Bot: 
      !>[V: $tType] : ( standard_Constant @ V ) ).

thf(sy_c_LabeledGraphSemantics_OStandard__Constant_OS__Idt,type,
    standard_S_Idt: 
      !>[V: $tType] : ( standard_Constant @ V ) ).

thf(sy_c_LabeledGraphSemantics_OgetRel,type,
    getRel: 
      !>[B: $tType,A: $tType] : ( B > ( labeled_graph @ B @ A ) > ( set @ ( product_prod @ A @ A ) ) ) ).

thf(sy_c_LabeledGraphs_Oedge__preserving,type,
    edge_preserving: 
      !>[A: $tType,B: $tType,C: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ ( product_prod @ C @ ( product_prod @ A @ A ) ) ) > ( set @ ( product_prod @ C @ ( product_prod @ B @ B ) ) ) > $o ) ).

thf(sy_c_LabeledGraphs_Ograph__homomorphism,type,
    graph_homomorphism: 
      !>[A: $tType,B: $tType,C: $tType] : ( ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ C ) > ( set @ ( product_prod @ B @ C ) ) > $o ) ).

thf(sy_c_LabeledGraphs_Ograph__union,type,
    graph_union: 
      !>[A: $tType,B: $tType] : ( ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) ) ).

thf(sy_c_LabeledGraphs_Olabeled__graph_OLG,type,
    labeled_LG: 
      !>[L: $tType,V: $tType] : ( ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) > ( set @ V ) > ( labeled_graph @ L @ V ) ) ).

thf(sy_c_LabeledGraphs_Olabeled__graph_Oedges,type,
    labeled_edges: 
      !>[L: $tType,V: $tType] : ( ( labeled_graph @ L @ V ) > ( set @ ( product_prod @ L @ ( product_prod @ V @ V ) ) ) ) ).

thf(sy_c_LabeledGraphs_Olabeled__graph_Overtices,type,
    labeled_vertices: 
      !>[L: $tType,V: $tType] : ( ( labeled_graph @ L @ V ) > ( set @ V ) ) ).

thf(sy_c_LabeledGraphs_Omap__graph,type,
    map_graph: 
      !>[C: $tType,B: $tType,A: $tType] : ( ( set @ ( product_prod @ C @ B ) ) > ( labeled_graph @ A @ C ) > ( labeled_graph @ A @ B ) ) ).

thf(sy_c_LabeledGraphs_Oon__triple,type,
    on_triple: 
      !>[B: $tType,C: $tType,A: $tType] : ( ( set @ ( product_prod @ B @ C ) ) > ( set @ ( product_prod @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ C @ C ) ) ) ) ) ).

thf(sy_c_LabeledGraphs_Orestrict,type,
    restrict: 
      !>[A: $tType,B: $tType] : ( ( labeled_graph @ A @ B ) > ( labeled_graph @ A @ B ) ) ).

thf(sy_c_MissingRelation_Ounivalent,type,
    univalent: 
      !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > $o ) ).

thf(sy_c_Orderings_Obot__class_Obot,type,
    bot_bot: 
      !>[A: $tType] : A ).

thf(sy_c_Orderings_Oord__class_Oless__eq,type,
    ord_less_eq: 
      !>[A: $tType] : ( A > A > $o ) ).

thf(sy_c_Product__Type_OPair,type,
    product_Pair: 
      !>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).

thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,
    product_rec_prod: 
      !>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) ).

thf(sy_c_Relation_ODomain,type,
    domain: 
      !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ A ) ) ).

thf(sy_c_Relation_OId__on,type,
    id_on: 
      !>[A: $tType] : ( ( set @ A ) > ( set @ ( product_prod @ A @ A ) ) ) ).

thf(sy_c_Relation_OImage,type,
    image: 
      !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ A ) > ( set @ B ) ) ).

thf(sy_c_RulesAndChains_Omaintained,type,
    maintained: 
      !>[L: $tType,X: $tType,V: $tType] : ( ( product_prod @ ( labeled_graph @ L @ X ) @ ( labeled_graph @ L @ X ) ) > ( labeled_graph @ L @ V ) > $o ) ).

thf(sy_c_Set_OCollect,type,
    collect: 
      !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).

thf(sy_c_Set_Oinsert,type,
    insert: 
      !>[A: $tType] : ( A > ( set @ A ) > ( set @ A ) ) ).

thf(sy_c_Set_Ois__singleton,type,
    is_singleton: 
      !>[A: $tType] : ( ( set @ A ) > $o ) ).

thf(sy_c_Set_Othe__elem,type,
    the_elem: 
      !>[A: $tType] : ( ( set @ A ) > A ) ).

thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Ocongruence__rule,type,
    standa1068660421e_rule: 
      !>[L: $tType] : ( L > L > ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ) ).

thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Ononempty__rule,type,
    standa244753842y_rule: 
      !>[L: $tType] : ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ).

thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Oreflexivity__rule,type,
    standa245363227y_rule: 
      !>[L: $tType] : ( L > ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ) ).

thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Osymmetry__rule,type,
    standa1805702094y_rule: 
      !>[L: $tType] : ( L > ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ) ).

thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Otop__rule,type,
    standa400804411p_rule: 
      !>[L: $tType] : ( L > ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ) ).

thf(sy_c_StandardRules__Mirabelle__xlrcbcygrg_Otransitive__rule,type,
    standa2114124375e_rule: 
      !>[L: $tType] : ( L > ( product_prod @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) ) ) ).

thf(sy_c_member,type,
    member: 
      !>[A: $tType] : ( A > ( set @ A ) > $o ) ).

thf(sy_v_G,type,
    g: labeled_graph @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) ).

thf(sy_v_f____,type,
    f: set @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) ).

thf(sy_v_l,type,
    l: standard_Constant @ a ).

thf(sy_v_v____,type,
    v: sum_sum @ a @ b ).

% Relevant facts (253)
thf(fact_0_g,axiom,
    ( g
    = ( restrict @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) ) ).

% g
thf(fact_1_v,axiom,
    member @ ( sum_sum @ a @ b ) @ v @ ( labeled_vertices @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) ).

% v
thf(fact_2__092_060open_062edge__preserving_A_123_I0_058_058_063_Hc1_M_Av_J_125_A_123_IS__Idt_M_A0_058_058_063_Hc1_M_A0_058_058_063_Hc1_J_125_A_Iedges_AG_J_092_060close_062,axiom,
    ! [C2: $tType] :
      ( ( zero @ C2 )
     => ( edge_preserving @ C2 @ ( sum_sum @ a @ b ) @ ( standard_Constant @ a ) @ ( insert @ ( product_prod @ C2 @ ( sum_sum @ a @ b ) ) @ ( product_Pair @ C2 @ ( sum_sum @ a @ b ) @ ( zero_zero @ C2 ) @ v ) @ ( bot_bot @ ( set @ ( product_prod @ C2 @ ( sum_sum @ a @ b ) ) ) ) ) @ ( insert @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ C2 @ C2 ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ C2 @ C2 ) @ ( standard_S_Idt @ a ) @ ( product_Pair @ C2 @ C2 @ ( zero_zero @ C2 ) @ ( zero_zero @ C2 ) ) ) @ ( bot_bot @ ( set @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ C2 @ C2 ) ) ) ) ) @ ( labeled_edges @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) ) ) ).

% \<open>edge_preserving {(0::?'c1, v)} {(S_Idt, 0::?'c1, 0::?'c1)} (edges G)\<close>
thf(fact_3_r,axiom,
    ord_less_eq @ ( set @ ( sum_sum @ a @ b ) ) @ ( image @ nat @ ( sum_sum @ a @ b ) @ f @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) @ ( labeled_vertices @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) ).

% r
thf(fact_4_f,axiom,
    ( f
    = ( insert @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) @ ( product_Pair @ nat @ ( sum_sum @ a @ b ) @ ( zero_zero @ nat ) @ v ) @ ( bot_bot @ ( set @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) ) ) ) ) ).

% f
thf(fact_5_d,axiom,
    ( ( domain @ nat @ ( sum_sum @ a @ b ) @ f )
    = ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) ).

% d
thf(fact_6_graph__single,axiom,
    ! [A: $tType,B: $tType,A2: A,B2: B,C3: B] :
      ( ( labeled_LG @ A @ B @ ( insert @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ A2 @ ( product_Pair @ B @ B @ B2 @ C3 ) ) @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) ) @ ( insert @ B @ B2 @ ( insert @ B @ C3 @ ( bot_bot @ ( set @ B ) ) ) ) )
      = ( restrict @ A @ B @ ( labeled_LG @ A @ B @ ( insert @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ A2 @ ( product_Pair @ B @ B @ B2 @ C3 ) ) @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) ) @ ( insert @ B @ B2 @ ( insert @ B @ C3 @ ( bot_bot @ ( set @ B ) ) ) ) ) ) ) ).

% graph_single
thf(fact_7__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062v_O_A_I0_M_Av_J_A_092_060in_062_Af_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062,axiom,
    ~ ! [V2: sum_sum @ a @ b] :
        ~ ( member @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) @ ( product_Pair @ nat @ ( sum_sum @ a @ b ) @ ( zero_zero @ nat ) @ V2 ) @ f ) ).

% \<open>\<And>thesis. (\<And>v. (0, v) \<in> f \<Longrightarrow> thesis) \<Longrightarrow> thesis\<close>
thf(fact_8_u,axiom,
    univalent @ nat @ ( sum_sum @ a @ b ) @ f ).

% u
thf(fact_9_Domain__insert,axiom,
    ! [B: $tType,A: $tType,A2: A,B2: B,R: set @ ( product_prod @ A @ B )] :
      ( ( domain @ A @ B @ ( insert @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ R ) )
      = ( insert @ A @ A2 @ ( domain @ A @ B @ R ) ) ) ).

% Domain_insert
thf(fact_10_Image__singleton__iff,axiom,
    ! [A: $tType,B: $tType,B2: A,R: set @ ( product_prod @ B @ A ),A2: B] :
      ( ( member @ A @ B2 @ ( image @ B @ A @ R @ ( insert @ B @ A2 @ ( bot_bot @ ( set @ B ) ) ) ) )
      = ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ A2 @ B2 ) @ R ) ) ).

% Image_singleton_iff
thf(fact_11_graph__empty__e,axiom,
    ! [A: $tType,B: $tType,V3: set @ B] :
      ( ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ V3 )
      = ( restrict @ A @ B @ ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ V3 ) ) ) ).

% graph_empty_e
thf(fact_12_labeled__graph_Ocollapse,axiom,
    ! [V: $tType,L: $tType,Labeled_graph: labeled_graph @ L @ V] :
      ( ( labeled_LG @ L @ V @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) )
      = Labeled_graph ) ).

% labeled_graph.collapse
thf(fact_13_Domain__empty,axiom,
    ! [B: $tType,A: $tType] :
      ( ( domain @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) )
      = ( bot_bot @ ( set @ A ) ) ) ).

% Domain_empty
thf(fact_14_Image__empty1,axiom,
    ! [B: $tType,A: $tType,X2: set @ B] :
      ( ( image @ B @ A @ ( bot_bot @ ( set @ ( product_prod @ B @ A ) ) ) @ X2 )
      = ( bot_bot @ ( set @ A ) ) ) ).

% Image_empty1
thf(fact_15_restrict__idemp,axiom,
    ! [B: $tType,A: $tType,X3: labeled_graph @ A @ B] :
      ( ( restrict @ A @ B @ ( restrict @ A @ B @ X3 ) )
      = ( restrict @ A @ B @ X3 ) ) ).

% restrict_idemp
thf(fact_16_labeled__graph_Oinject,axiom,
    ! [L: $tType,V: $tType,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V,Y1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),Y2: set @ V] :
      ( ( ( labeled_LG @ L @ V @ X1 @ X22 )
        = ( labeled_LG @ L @ V @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X22 = Y2 ) ) ) ).

% labeled_graph.inject
thf(fact_17_v__gr,axiom,
    ! [A3: sum_sum @ a @ b,B3: sum_sum @ a @ b] :
      ( ( member @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ ( sum_sum @ a @ b ) @ ( sum_sum @ a @ b ) ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ ( sum_sum @ a @ b ) @ ( sum_sum @ a @ b ) ) @ ( standard_S_Idt @ a ) @ ( product_Pair @ ( sum_sum @ a @ b ) @ ( sum_sum @ a @ b ) @ A3 @ B3 ) ) @ ( labeled_edges @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) )
      = ( ( member @ ( sum_sum @ a @ b ) @ A3 @ ( labeled_vertices @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) )
        & ( B3 = A3 ) ) ) ).

% v_gr
thf(fact_18__092_060open_062_IS__Idt_M_Av_M_Av_J_A_092_060in_062_Aedges_AG_092_060close_062,axiom,
    member @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ ( sum_sum @ a @ b ) @ ( sum_sum @ a @ b ) ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ ( sum_sum @ a @ b ) @ ( sum_sum @ a @ b ) ) @ ( standard_S_Idt @ a ) @ ( product_Pair @ ( sum_sum @ a @ b ) @ ( sum_sum @ a @ b ) @ v @ v ) ) @ ( labeled_edges @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) ).

% \<open>(S_Idt, v, v) \<in> edges G\<close>
thf(fact_19_ImageI,axiom,
    ! [B: $tType,A: $tType,A2: A,B2: B,R: set @ ( product_prod @ A @ B ),A4: set @ A] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ R )
     => ( ( member @ A @ A2 @ A4 )
       => ( member @ B @ B2 @ ( image @ A @ B @ R @ A4 ) ) ) ) ).

% ImageI
thf(fact_20_Image__empty2,axiom,
    ! [B: $tType,A: $tType,R2: set @ ( product_prod @ B @ A )] :
      ( ( image @ B @ A @ R2 @ ( bot_bot @ ( set @ B ) ) )
      = ( bot_bot @ ( set @ A ) ) ) ).

% Image_empty2
thf(fact_21_vertices__restrict,axiom,
    ! [A: $tType,B: $tType,G: labeled_graph @ B @ A] :
      ( ( labeled_vertices @ B @ A @ ( restrict @ B @ A @ G ) )
      = ( labeled_vertices @ B @ A @ G ) ) ).

% vertices_restrict
thf(fact_22__092_060open_062graph__homomorphism_A_ILG_A_123_125_A_1230_125_J_AG_Af_092_060close_062,axiom,
    graph_homomorphism @ ( standard_Constant @ a ) @ nat @ ( sum_sum @ a @ b ) @ ( labeled_LG @ ( standard_Constant @ a ) @ nat @ ( bot_bot @ ( set @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) @ g @ f ).

% \<open>graph_homomorphism (LG {} {0}) G f\<close>
thf(fact_23_labeled__graph_Oexhaust,axiom,
    ! [L: $tType,V: $tType,Y: labeled_graph @ L @ V] :
      ~ ! [X12: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X23: set @ V] :
          ( Y
         != ( labeled_LG @ L @ V @ X12 @ X23 ) ) ).

% labeled_graph.exhaust
thf(fact_24_labeled__graph_Oinduct,axiom,
    ! [V: $tType,L: $tType,P: ( labeled_graph @ L @ V ) > $o,Labeled_graph: labeled_graph @ L @ V] :
      ( ! [X1a: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X2a: set @ V] : ( P @ ( labeled_LG @ L @ V @ X1a @ X2a ) )
     => ( P @ Labeled_graph ) ) ).

% labeled_graph.induct
thf(fact_25_rev__ImageI,axiom,
    ! [B: $tType,A: $tType,A2: A,A4: set @ A,B2: B,R: set @ ( product_prod @ A @ B )] :
      ( ( member @ A @ A2 @ A4 )
     => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ R )
       => ( member @ B @ B2 @ ( image @ A @ B @ R @ A4 ) ) ) ) ).

% rev_ImageI
thf(fact_26_Image__iff,axiom,
    ! [A: $tType,B: $tType,B2: A,R: set @ ( product_prod @ B @ A ),A4: set @ B] :
      ( ( member @ A @ B2 @ ( image @ B @ A @ R @ A4 ) )
      = ( ? [X4: B] :
            ( ( member @ B @ X4 @ A4 )
            & ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ X4 @ B2 ) @ R ) ) ) ) ).

% Image_iff
thf(fact_27_ImageE,axiom,
    ! [A: $tType,B: $tType,B2: A,R: set @ ( product_prod @ B @ A ),A4: set @ B] :
      ( ( member @ A @ B2 @ ( image @ B @ A @ R @ A4 ) )
     => ~ ! [X5: B] :
            ( ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ X5 @ B2 ) @ R )
           => ~ ( member @ B @ X5 @ A4 ) ) ) ).

% ImageE
thf(fact_28_Image__mono,axiom,
    ! [B: $tType,A: $tType,R3: set @ ( product_prod @ A @ B ),R: set @ ( product_prod @ A @ B ),A5: set @ A,A4: set @ A] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R3 @ R )
     => ( ( ord_less_eq @ ( set @ A ) @ A5 @ A4 )
       => ( ord_less_eq @ ( set @ B ) @ ( image @ A @ B @ R3 @ A5 ) @ ( image @ A @ B @ R @ A4 ) ) ) ) ).

% Image_mono
thf(fact_29_Domain_Oinducts,axiom,
    ! [B: $tType,A: $tType,X3: A,R: set @ ( product_prod @ A @ B ),P: A > $o] :
      ( ( member @ A @ X3 @ ( domain @ A @ B @ R ) )
     => ( ! [A6: A,B4: B] :
            ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A6 @ B4 ) @ R )
           => ( P @ A6 ) )
       => ( P @ X3 ) ) ) ).

% Domain.inducts
thf(fact_30_Domain_ODomainI,axiom,
    ! [B: $tType,A: $tType,A2: A,B2: B,R: set @ ( product_prod @ A @ B )] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ R )
     => ( member @ A @ A2 @ ( domain @ A @ B @ R ) ) ) ).

% Domain.DomainI
thf(fact_31_Domain_Osimps,axiom,
    ! [B: $tType,A: $tType,A2: A,R: set @ ( product_prod @ A @ B )] :
      ( ( member @ A @ A2 @ ( domain @ A @ B @ R ) )
      = ( ? [A7: A,B5: B] :
            ( ( A2 = A7 )
            & ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A7 @ B5 ) @ R ) ) ) ) ).

% Domain.simps
thf(fact_32_Domain_Ocases,axiom,
    ! [B: $tType,A: $tType,A2: A,R: set @ ( product_prod @ A @ B )] :
      ( ( member @ A @ A2 @ ( domain @ A @ B @ R ) )
     => ~ ! [B4: B] :
            ~ ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B4 ) @ R ) ) ).

% Domain.cases
thf(fact_33_Domain__iff,axiom,
    ! [A: $tType,B: $tType,A2: A,R: set @ ( product_prod @ A @ B )] :
      ( ( member @ A @ A2 @ ( domain @ A @ B @ R ) )
      = ( ? [Y3: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ Y3 ) @ R ) ) ) ).

% Domain_iff
thf(fact_34_DomainE,axiom,
    ! [B: $tType,A: $tType,A2: A,R: set @ ( product_prod @ A @ B )] :
      ( ( member @ A @ A2 @ ( domain @ A @ B @ R ) )
     => ~ ! [B4: B] :
            ~ ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B4 ) @ R ) ) ).

% DomainE
thf(fact_35_Domain__mono,axiom,
    ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S: set @ ( product_prod @ A @ B )] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R @ S )
     => ( ord_less_eq @ ( set @ A ) @ ( domain @ A @ B @ R ) @ ( domain @ A @ B @ S ) ) ) ).

% Domain_mono
thf(fact_36_labeled__graph_Oexpand,axiom,
    ! [V: $tType,L: $tType,Labeled_graph: labeled_graph @ L @ V,Labeled_graph2: labeled_graph @ L @ V] :
      ( ( ( ( labeled_edges @ L @ V @ Labeled_graph )
          = ( labeled_edges @ L @ V @ Labeled_graph2 ) )
        & ( ( labeled_vertices @ L @ V @ Labeled_graph )
          = ( labeled_vertices @ L @ V @ Labeled_graph2 ) ) )
     => ( Labeled_graph = Labeled_graph2 ) ) ).

% labeled_graph.expand
thf(fact_37_labeled__graph_Osel_I2_J,axiom,
    ! [L: $tType,V: $tType,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V] :
      ( ( labeled_vertices @ L @ V @ ( labeled_LG @ L @ V @ X1 @ X22 ) )
      = X22 ) ).

% labeled_graph.sel(2)
thf(fact_38_labeled__graph_Osel_I1_J,axiom,
    ! [V: $tType,L: $tType,X1: set @ ( product_prod @ L @ ( product_prod @ V @ V ) ),X22: set @ V] :
      ( ( labeled_edges @ L @ V @ ( labeled_LG @ L @ V @ X1 @ X22 ) )
      = X1 ) ).

% labeled_graph.sel(1)
thf(fact_39_Domain__empty__iff,axiom,
    ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B )] :
      ( ( ( domain @ A @ B @ R )
        = ( bot_bot @ ( set @ A ) ) )
      = ( R
        = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ) ).

% Domain_empty_iff
thf(fact_40_edge__preserving__atomic,axiom,
    ! [A: $tType,B: $tType,C: $tType,H1: set @ ( product_prod @ A @ B ),E1: set @ ( product_prod @ C @ ( product_prod @ A @ A ) ),E2: set @ ( product_prod @ C @ ( product_prod @ B @ B ) ),V1: A,V12: B,V22: A,V23: B,K: C] :
      ( ( edge_preserving @ A @ B @ C @ H1 @ E1 @ E2 )
     => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ V1 @ V12 ) @ H1 )
       => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ V22 @ V23 ) @ H1 )
         => ( ( member @ ( product_prod @ C @ ( product_prod @ A @ A ) ) @ ( product_Pair @ C @ ( product_prod @ A @ A ) @ K @ ( product_Pair @ A @ A @ V1 @ V22 ) ) @ E1 )
           => ( member @ ( product_prod @ C @ ( product_prod @ B @ B ) ) @ ( product_Pair @ C @ ( product_prod @ B @ B ) @ K @ ( product_Pair @ B @ B @ V12 @ V23 ) ) @ E2 ) ) ) ) ) ).

% edge_preserving_atomic
thf(fact_41_labeled__graph_Oexhaust__sel,axiom,
    ! [V: $tType,L: $tType,Labeled_graph: labeled_graph @ L @ V] :
      ( Labeled_graph
      = ( labeled_LG @ L @ V @ ( labeled_edges @ L @ V @ Labeled_graph ) @ ( labeled_vertices @ L @ V @ Labeled_graph ) ) ) ).

% labeled_graph.exhaust_sel
thf(fact_42_singleton__insert__inj__eq_H,axiom,
    ! [A: $tType,A2: A,A4: set @ A,B2: A] :
      ( ( ( insert @ A @ A2 @ A4 )
        = ( insert @ A @ B2 @ ( bot_bot @ ( set @ A ) ) ) )
      = ( ( A2 = B2 )
        & ( ord_less_eq @ ( set @ A ) @ A4 @ ( insert @ A @ B2 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).

% singleton_insert_inj_eq'
thf(fact_43_singleton__insert__inj__eq,axiom,
    ! [A: $tType,B2: A,A2: A,A4: set @ A] :
      ( ( ( insert @ A @ B2 @ ( bot_bot @ ( set @ A ) ) )
        = ( insert @ A @ A2 @ A4 ) )
      = ( ( A2 = B2 )
        & ( ord_less_eq @ ( set @ A ) @ A4 @ ( insert @ A @ B2 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).

% singleton_insert_inj_eq
thf(fact_44_univalent__empty,axiom,
    ! [B: $tType,A: $tType] : ( univalent @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ).

% univalent_empty
thf(fact_45_mem__Collect__eq,axiom,
    ! [A: $tType,A2: A,P: A > $o] :
      ( ( member @ A @ A2 @ ( collect @ A @ P ) )
      = ( P @ A2 ) ) ).

% mem_Collect_eq
thf(fact_46_Collect__mem__eq,axiom,
    ! [A: $tType,A4: set @ A] :
      ( ( collect @ A
        @ ^ [X4: A] : ( member @ A @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_47_Collect__cong,axiom,
    ! [A: $tType,P: A > $o,Q: A > $o] :
      ( ! [X5: A] :
          ( ( P @ X5 )
          = ( Q @ X5 ) )
     => ( ( collect @ A @ P )
        = ( collect @ A @ Q ) ) ) ).

% Collect_cong
thf(fact_48_ext,axiom,
    ! [B: $tType,A: $tType,F: A > B,G2: A > B] :
      ( ! [X5: A] :
          ( ( F @ X5 )
          = ( G2 @ X5 ) )
     => ( F = G2 ) ) ).

% ext
thf(fact_49_insert__subset,axiom,
    ! [A: $tType,X3: A,A4: set @ A,B6: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ ( insert @ A @ X3 @ A4 ) @ B6 )
      = ( ( member @ A @ X3 @ B6 )
        & ( ord_less_eq @ ( set @ A ) @ A4 @ B6 ) ) ) ).

% insert_subset
thf(fact_50_singletonI,axiom,
    ! [A: $tType,A2: A] : ( member @ A @ A2 @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ) ).

% singletonI
thf(fact_51_empty__subsetI,axiom,
    ! [A: $tType,A4: set @ A] : ( ord_less_eq @ ( set @ A ) @ ( bot_bot @ ( set @ A ) ) @ A4 ) ).

% empty_subsetI
thf(fact_52_subset__empty,axiom,
    ! [A: $tType,A4: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ A4 @ ( bot_bot @ ( set @ A ) ) )
      = ( A4
        = ( bot_bot @ ( set @ A ) ) ) ) ).

% subset_empty
thf(fact_53_le__zero__eq,axiom,
    ! [A: $tType] :
      ( ( canoni770627133id_add @ A )
     => ! [N: A] :
          ( ( ord_less_eq @ A @ N @ ( zero_zero @ A ) )
          = ( N
            = ( zero_zero @ A ) ) ) ) ).

% le_zero_eq
thf(fact_54_reflexivity__rule__def,axiom,
    ! [L: $tType] :
      ( ( standa245363227y_rule @ L )
      = ( ^ [T2: L] : ( product_Pair @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) @ ( labeled_LG @ L @ nat @ ( bot_bot @ ( set @ ( product_prod @ L @ ( product_prod @ nat @ nat ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) @ ( labeled_LG @ L @ nat @ ( insert @ ( product_prod @ L @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ L @ ( product_prod @ nat @ nat ) @ T2 @ ( product_Pair @ nat @ nat @ ( zero_zero @ nat ) @ ( zero_zero @ nat ) ) ) @ ( bot_bot @ ( set @ ( product_prod @ L @ ( product_prod @ nat @ nat ) ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) ) ) ) ).

% reflexivity_rule_def
thf(fact_55_nonempty__rule__def,axiom,
    ! [L: $tType] :
      ( ( standa244753842y_rule @ L )
      = ( product_Pair @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) @ ( labeled_LG @ L @ nat @ ( bot_bot @ ( set @ ( product_prod @ L @ ( product_prod @ nat @ nat ) ) ) ) @ ( bot_bot @ ( set @ nat ) ) ) @ ( labeled_LG @ L @ nat @ ( bot_bot @ ( set @ ( product_prod @ L @ ( product_prod @ nat @ nat ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) ) ) ).

% nonempty_rule_def
thf(fact_56_empty__iff,axiom,
    ! [A: $tType,C3: A] :
      ~ ( member @ A @ C3 @ ( bot_bot @ ( set @ A ) ) ) ).

% empty_iff
thf(fact_57_all__not__in__conv,axiom,
    ! [A: $tType,A4: set @ A] :
      ( ( ! [X4: A] :
            ~ ( member @ A @ X4 @ A4 ) )
      = ( A4
        = ( bot_bot @ ( set @ A ) ) ) ) ).

% all_not_in_conv
thf(fact_58_Collect__empty__eq,axiom,
    ! [A: $tType,P: A > $o] :
      ( ( ( collect @ A @ P )
        = ( bot_bot @ ( set @ A ) ) )
      = ( ! [X4: A] :
            ~ ( P @ X4 ) ) ) ).

% Collect_empty_eq
thf(fact_59_empty__Collect__eq,axiom,
    ! [A: $tType,P: A > $o] :
      ( ( ( bot_bot @ ( set @ A ) )
        = ( collect @ A @ P ) )
      = ( ! [X4: A] :
            ~ ( P @ X4 ) ) ) ).

% empty_Collect_eq
thf(fact_60_subsetI,axiom,
    ! [A: $tType,A4: set @ A,B6: set @ A] :
      ( ! [X5: A] :
          ( ( member @ A @ X5 @ A4 )
         => ( member @ A @ X5 @ B6 ) )
     => ( ord_less_eq @ ( set @ A ) @ A4 @ B6 ) ) ).

% subsetI
thf(fact_61_subset__antisym,axiom,
    ! [A: $tType,A4: set @ A,B6: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ A4 @ B6 )
     => ( ( ord_less_eq @ ( set @ A ) @ B6 @ A4 )
       => ( A4 = B6 ) ) ) ).

% subset_antisym
thf(fact_62_insertCI,axiom,
    ! [A: $tType,A2: A,B6: set @ A,B2: A] :
      ( ( ~ ( member @ A @ A2 @ B6 )
       => ( A2 = B2 ) )
     => ( member @ A @ A2 @ ( insert @ A @ B2 @ B6 ) ) ) ).

% insertCI
thf(fact_63_insert__iff,axiom,
    ! [A: $tType,A2: A,B2: A,A4: set @ A] :
      ( ( member @ A @ A2 @ ( insert @ A @ B2 @ A4 ) )
      = ( ( A2 = B2 )
        | ( member @ A @ A2 @ A4 ) ) ) ).

% insert_iff
thf(fact_64_insert__absorb2,axiom,
    ! [A: $tType,X3: A,A4: set @ A] :
      ( ( insert @ A @ X3 @ ( insert @ A @ X3 @ A4 ) )
      = ( insert @ A @ X3 @ A4 ) ) ).

% insert_absorb2
thf(fact_65_graph__homomorphism__empty,axiom,
    ! [B: $tType,C: $tType,A: $tType,G: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C )] :
      ( ( graph_homomorphism @ A @ B @ C @ ( labeled_LG @ A @ B @ ( bot_bot @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) ) @ ( bot_bot @ ( set @ B ) ) ) @ G @ F )
      = ( ( F
          = ( bot_bot @ ( set @ ( product_prod @ B @ C ) ) ) )
        & ( G
          = ( restrict @ A @ C @ G ) ) ) ) ).

% graph_homomorphism_empty
thf(fact_66_edge__preserving__subset,axiom,
    ! [A: $tType,B: $tType,C: $tType,R_1: set @ ( product_prod @ A @ B ),R_2: set @ ( product_prod @ A @ B ),E_1: set @ ( product_prod @ C @ ( product_prod @ A @ A ) ),E_2: set @ ( product_prod @ C @ ( product_prod @ A @ A ) ),G: set @ ( product_prod @ C @ ( product_prod @ B @ B ) )] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R_1 @ R_2 )
     => ( ( ord_less_eq @ ( set @ ( product_prod @ C @ ( product_prod @ A @ A ) ) ) @ E_1 @ E_2 )
       => ( ( edge_preserving @ A @ B @ C @ R_2 @ E_2 @ G )
         => ( edge_preserving @ A @ B @ C @ R_1 @ E_1 @ G ) ) ) ) ).

% edge_preserving_subset
thf(fact_67_subrelI,axiom,
    ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S: set @ ( product_prod @ A @ B )] :
      ( ! [X5: A,Y4: B] :
          ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y4 ) @ R )
         => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y4 ) @ S ) )
     => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R @ S ) ) ).

% subrelI
thf(fact_68_restrict__subsD,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G ) @ ( labeled_edges @ A @ B @ ( restrict @ A @ B @ G ) ) )
     => ( G
        = ( restrict @ A @ B @ G ) ) ) ).

% restrict_subsD
thf(fact_69_zero__reorient,axiom,
    ! [A: $tType] :
      ( ( zero @ A )
     => ! [X3: A] :
          ( ( ( zero_zero @ A )
            = X3 )
          = ( X3
            = ( zero_zero @ A ) ) ) ) ).

% zero_reorient
thf(fact_70_emptyE,axiom,
    ! [A: $tType,A2: A] :
      ~ ( member @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ).

% emptyE
thf(fact_71_equals0D,axiom,
    ! [A: $tType,A4: set @ A,A2: A] :
      ( ( A4
        = ( bot_bot @ ( set @ A ) ) )
     => ~ ( member @ A @ A2 @ A4 ) ) ).

% equals0D
thf(fact_72_equals0I,axiom,
    ! [A: $tType,A4: set @ A] :
      ( ! [Y4: A] :
          ~ ( member @ A @ Y4 @ A4 )
     => ( A4
        = ( bot_bot @ ( set @ A ) ) ) ) ).

% equals0I
thf(fact_73_ex__in__conv,axiom,
    ! [A: $tType,A4: set @ A] :
      ( ( ? [X4: A] : ( member @ A @ X4 @ A4 ) )
      = ( A4
       != ( bot_bot @ ( set @ A ) ) ) ) ).

% ex_in_conv
thf(fact_74_in__mono,axiom,
    ! [A: $tType,A4: set @ A,B6: set @ A,X3: A] :
      ( ( ord_less_eq @ ( set @ A ) @ A4 @ B6 )
     => ( ( member @ A @ X3 @ A4 )
       => ( member @ A @ X3 @ B6 ) ) ) ).

% in_mono
thf(fact_75_subsetD,axiom,
    ! [A: $tType,A4: set @ A,B6: set @ A,C3: A] :
      ( ( ord_less_eq @ ( set @ A ) @ A4 @ B6 )
     => ( ( member @ A @ C3 @ A4 )
       => ( member @ A @ C3 @ B6 ) ) ) ).

% subsetD
thf(fact_76_equalityE,axiom,
    ! [A: $tType,A4: set @ A,B6: set @ A] :
      ( ( A4 = B6 )
     => ~ ( ( ord_less_eq @ ( set @ A ) @ A4 @ B6 )
         => ~ ( ord_less_eq @ ( set @ A ) @ B6 @ A4 ) ) ) ).

% equalityE
thf(fact_77_subset__eq,axiom,
    ! [A: $tType] :
      ( ( ord_less_eq @ ( set @ A ) )
      = ( ^ [A8: set @ A,B7: set @ A] :
          ! [X4: A] :
            ( ( member @ A @ X4 @ A8 )
           => ( member @ A @ X4 @ B7 ) ) ) ) ).

% subset_eq
thf(fact_78_equalityD1,axiom,
    ! [A: $tType,A4: set @ A,B6: set @ A] :
      ( ( A4 = B6 )
     => ( ord_less_eq @ ( set @ A ) @ A4 @ B6 ) ) ).

% equalityD1
thf(fact_79_equalityD2,axiom,
    ! [A: $tType,A4: set @ A,B6: set @ A] :
      ( ( A4 = B6 )
     => ( ord_less_eq @ ( set @ A ) @ B6 @ A4 ) ) ).

% equalityD2
thf(fact_80_subset__iff,axiom,
    ! [A: $tType] :
      ( ( ord_less_eq @ ( set @ A ) )
      = ( ^ [A8: set @ A,B7: set @ A] :
          ! [T2: A] :
            ( ( member @ A @ T2 @ A8 )
           => ( member @ A @ T2 @ B7 ) ) ) ) ).

% subset_iff
thf(fact_81_subset__refl,axiom,
    ! [A: $tType,A4: set @ A] : ( ord_less_eq @ ( set @ A ) @ A4 @ A4 ) ).

% subset_refl
thf(fact_82_Collect__mono,axiom,
    ! [A: $tType,P: A > $o,Q: A > $o] :
      ( ! [X5: A] :
          ( ( P @ X5 )
         => ( Q @ X5 ) )
     => ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) ) ) ).

% Collect_mono
thf(fact_83_subset__trans,axiom,
    ! [A: $tType,A4: set @ A,B6: set @ A,C4: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ A4 @ B6 )
     => ( ( ord_less_eq @ ( set @ A ) @ B6 @ C4 )
       => ( ord_less_eq @ ( set @ A ) @ A4 @ C4 ) ) ) ).

% subset_trans
thf(fact_84_set__eq__subset,axiom,
    ! [A: $tType] :
      ( ( ^ [Y5: set @ A,Z: set @ A] : Y5 = Z )
      = ( ^ [A8: set @ A,B7: set @ A] :
            ( ( ord_less_eq @ ( set @ A ) @ A8 @ B7 )
            & ( ord_less_eq @ ( set @ A ) @ B7 @ A8 ) ) ) ) ).

% set_eq_subset
thf(fact_85_Collect__mono__iff,axiom,
    ! [A: $tType,P: A > $o,Q: A > $o] :
      ( ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) )
      = ( ! [X4: A] :
            ( ( P @ X4 )
           => ( Q @ X4 ) ) ) ) ).

% Collect_mono_iff
thf(fact_86_insertE,axiom,
    ! [A: $tType,A2: A,B2: A,A4: set @ A] :
      ( ( member @ A @ A2 @ ( insert @ A @ B2 @ A4 ) )
     => ( ( A2 != B2 )
       => ( member @ A @ A2 @ A4 ) ) ) ).

% insertE
thf(fact_87_insertI1,axiom,
    ! [A: $tType,A2: A,B6: set @ A] : ( member @ A @ A2 @ ( insert @ A @ A2 @ B6 ) ) ).

% insertI1
thf(fact_88_insertI2,axiom,
    ! [A: $tType,A2: A,B6: set @ A,B2: A] :
      ( ( member @ A @ A2 @ B6 )
     => ( member @ A @ A2 @ ( insert @ A @ B2 @ B6 ) ) ) ).

% insertI2
thf(fact_89_Set_Oset__insert,axiom,
    ! [A: $tType,X3: A,A4: set @ A] :
      ( ( member @ A @ X3 @ A4 )
     => ~ ! [B8: set @ A] :
            ( ( A4
              = ( insert @ A @ X3 @ B8 ) )
           => ( member @ A @ X3 @ B8 ) ) ) ).

% Set.set_insert
thf(fact_90_insert__ident,axiom,
    ! [A: $tType,X3: A,A4: set @ A,B6: set @ A] :
      ( ~ ( member @ A @ X3 @ A4 )
     => ( ~ ( member @ A @ X3 @ B6 )
       => ( ( ( insert @ A @ X3 @ A4 )
            = ( insert @ A @ X3 @ B6 ) )
          = ( A4 = B6 ) ) ) ) ).

% insert_ident
thf(fact_91_insert__absorb,axiom,
    ! [A: $tType,A2: A,A4: set @ A] :
      ( ( member @ A @ A2 @ A4 )
     => ( ( insert @ A @ A2 @ A4 )
        = A4 ) ) ).

% insert_absorb
thf(fact_92_insert__eq__iff,axiom,
    ! [A: $tType,A2: A,A4: set @ A,B2: A,B6: set @ A] :
      ( ~ ( member @ A @ A2 @ A4 )
     => ( ~ ( member @ A @ B2 @ B6 )
       => ( ( ( insert @ A @ A2 @ A4 )
            = ( insert @ A @ B2 @ B6 ) )
          = ( ( ( A2 = B2 )
             => ( A4 = B6 ) )
            & ( ( A2 != B2 )
             => ? [C5: set @ A] :
                  ( ( A4
                    = ( insert @ A @ B2 @ C5 ) )
                  & ~ ( member @ A @ B2 @ C5 )
                  & ( B6
                    = ( insert @ A @ A2 @ C5 ) )
                  & ~ ( member @ A @ A2 @ C5 ) ) ) ) ) ) ) ).

% insert_eq_iff
thf(fact_93_insert__commute,axiom,
    ! [A: $tType,X3: A,Y: A,A4: set @ A] :
      ( ( insert @ A @ X3 @ ( insert @ A @ Y @ A4 ) )
      = ( insert @ A @ Y @ ( insert @ A @ X3 @ A4 ) ) ) ).

% insert_commute
thf(fact_94_mk__disjoint__insert,axiom,
    ! [A: $tType,A2: A,A4: set @ A] :
      ( ( member @ A @ A2 @ A4 )
     => ? [B8: set @ A] :
          ( ( A4
            = ( insert @ A @ A2 @ B8 ) )
          & ~ ( member @ A @ A2 @ B8 ) ) ) ).

% mk_disjoint_insert
thf(fact_95_zero__le,axiom,
    ! [A: $tType] :
      ( ( canoni770627133id_add @ A )
     => ! [X3: A] : ( ord_less_eq @ A @ ( zero_zero @ A ) @ X3 ) ) ).

% zero_le
thf(fact_96_singletonD,axiom,
    ! [A: $tType,B2: A,A2: A] :
      ( ( member @ A @ B2 @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) )
     => ( B2 = A2 ) ) ).

% singletonD
thf(fact_97_singleton__iff,axiom,
    ! [A: $tType,B2: A,A2: A] :
      ( ( member @ A @ B2 @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) )
      = ( B2 = A2 ) ) ).

% singleton_iff
thf(fact_98_doubleton__eq__iff,axiom,
    ! [A: $tType,A2: A,B2: A,C3: A,D: A] :
      ( ( ( insert @ A @ A2 @ ( insert @ A @ B2 @ ( bot_bot @ ( set @ A ) ) ) )
        = ( insert @ A @ C3 @ ( insert @ A @ D @ ( bot_bot @ ( set @ A ) ) ) ) )
      = ( ( ( A2 = C3 )
          & ( B2 = D ) )
        | ( ( A2 = D )
          & ( B2 = C3 ) ) ) ) ).

% doubleton_eq_iff
thf(fact_99_insert__not__empty,axiom,
    ! [A: $tType,A2: A,A4: set @ A] :
      ( ( insert @ A @ A2 @ A4 )
     != ( bot_bot @ ( set @ A ) ) ) ).

% insert_not_empty
thf(fact_100_singleton__inject,axiom,
    ! [A: $tType,A2: A,B2: A] :
      ( ( ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) )
        = ( insert @ A @ B2 @ ( bot_bot @ ( set @ A ) ) ) )
     => ( A2 = B2 ) ) ).

% singleton_inject
thf(fact_101_insert__mono,axiom,
    ! [A: $tType,C4: set @ A,D2: set @ A,A2: A] :
      ( ( ord_less_eq @ ( set @ A ) @ C4 @ D2 )
     => ( ord_less_eq @ ( set @ A ) @ ( insert @ A @ A2 @ C4 ) @ ( insert @ A @ A2 @ D2 ) ) ) ).

% insert_mono
thf(fact_102_subset__insert,axiom,
    ! [A: $tType,X3: A,A4: set @ A,B6: set @ A] :
      ( ~ ( member @ A @ X3 @ A4 )
     => ( ( ord_less_eq @ ( set @ A ) @ A4 @ ( insert @ A @ X3 @ B6 ) )
        = ( ord_less_eq @ ( set @ A ) @ A4 @ B6 ) ) ) ).

% subset_insert
thf(fact_103_subset__insertI,axiom,
    ! [A: $tType,B6: set @ A,A2: A] : ( ord_less_eq @ ( set @ A ) @ B6 @ ( insert @ A @ A2 @ B6 ) ) ).

% subset_insertI
thf(fact_104_subset__insertI2,axiom,
    ! [A: $tType,A4: set @ A,B6: set @ A,B2: A] :
      ( ( ord_less_eq @ ( set @ A ) @ A4 @ B6 )
     => ( ord_less_eq @ ( set @ A ) @ A4 @ ( insert @ A @ B2 @ B6 ) ) ) ).

% subset_insertI2
thf(fact_105_univalentD,axiom,
    ! [A: $tType,B: $tType,R2: set @ ( product_prod @ A @ B ),X3: A,Y: B,Z2: B] :
      ( ( univalent @ A @ B @ R2 )
     => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y ) @ R2 )
       => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Z2 ) @ R2 )
         => ( Z2 = Y ) ) ) ) ).

% univalentD
thf(fact_106_univalent__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( univalent @ A @ B )
      = ( ^ [R4: set @ ( product_prod @ A @ B )] :
          ! [X4: A,Y3: B,Z3: B] :
            ( ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y3 ) @ R4 )
              & ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Z3 ) @ R4 ) )
           => ( Z3 = Y3 ) ) ) ) ).

% univalent_def
thf(fact_107_graph__homomorphismI,axiom,
    ! [B: $tType,C: $tType,A: $tType,S: labeled_graph @ B @ A,H: set @ ( product_prod @ A @ C ),T3: labeled_graph @ B @ C] :
      ( ( ( labeled_vertices @ B @ A @ S )
        = ( domain @ A @ C @ H ) )
     => ( ( ord_less_eq @ ( set @ C ) @ ( image @ A @ C @ H @ ( labeled_vertices @ B @ A @ S ) ) @ ( labeled_vertices @ B @ C @ T3 ) )
       => ( ( univalent @ A @ C @ H )
         => ( ( edge_preserving @ A @ C @ B @ H @ ( labeled_edges @ B @ A @ S ) @ ( labeled_edges @ B @ C @ T3 ) )
           => ( ( S
                = ( restrict @ B @ A @ S ) )
             => ( ( T3
                  = ( restrict @ B @ C @ T3 ) )
               => ( graph_homomorphism @ B @ A @ C @ S @ T3 @ H ) ) ) ) ) ) ) ).

% graph_homomorphismI
thf(fact_108_graph__homomorphism__def,axiom,
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( graph_homomorphism @ A @ B @ C )
      = ( ^ [G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ C,F2: set @ ( product_prod @ B @ C )] :
            ( ( ( labeled_vertices @ A @ B @ G_1 )
              = ( domain @ B @ C @ F2 ) )
            & ( G_1
              = ( restrict @ A @ B @ G_1 ) )
            & ( G_2
              = ( restrict @ A @ C @ G_2 ) )
            & ( ord_less_eq @ ( set @ C ) @ ( image @ B @ C @ F2 @ ( labeled_vertices @ A @ B @ G_1 ) ) @ ( labeled_vertices @ A @ C @ G_2 ) )
            & ( univalent @ B @ C @ F2 )
            & ( edge_preserving @ B @ C @ A @ F2 @ ( labeled_edges @ A @ B @ G_1 ) @ ( labeled_edges @ A @ C @ G_2 ) ) ) ) ) ).

% graph_homomorphism_def
thf(fact_109_subset__singletonD,axiom,
    ! [A: $tType,A4: set @ A,X3: A] :
      ( ( ord_less_eq @ ( set @ A ) @ A4 @ ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) )
     => ( ( A4
          = ( bot_bot @ ( set @ A ) ) )
        | ( A4
          = ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).

% subset_singletonD
thf(fact_110_subset__singleton__iff,axiom,
    ! [A: $tType,X2: set @ A,A2: A] :
      ( ( ord_less_eq @ ( set @ A ) @ X2 @ ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) )
      = ( ( X2
          = ( bot_bot @ ( set @ A ) ) )
        | ( X2
          = ( insert @ A @ A2 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).

% subset_singleton_iff
thf(fact_111_univalent__insert,axiom,
    ! [A: $tType,B: $tType,A2: B,R2: set @ ( product_prod @ B @ A ),B2: A] :
      ( ! [C6: A] :
          ~ ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ A2 @ C6 ) @ R2 )
     => ( ( univalent @ B @ A @ ( insert @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ A2 @ B2 ) @ R2 ) )
        = ( univalent @ B @ A @ R2 ) ) ) ).

% univalent_insert
thf(fact_112_graph__homomorphism__concr__graph,axiom,
    ! [A: $tType,B: $tType,C: $tType,G: labeled_graph @ A @ B,E: set @ ( product_prod @ A @ ( product_prod @ C @ C ) ),V3: set @ C,X3: set @ ( product_prod @ C @ B )] :
      ( ( G
        = ( restrict @ A @ B @ G ) )
     => ( ( ( labeled_LG @ A @ C @ E @ V3 )
          = ( restrict @ A @ C @ ( labeled_LG @ A @ C @ E @ V3 ) ) )
       => ( ( graph_homomorphism @ A @ C @ B @ ( labeled_LG @ A @ C @ E @ V3 ) @ G @ X3 )
          = ( ( ord_less_eq @ ( set @ B ) @ ( image @ C @ B @ X3 @ V3 ) @ ( labeled_vertices @ A @ B @ G ) )
            & ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( image @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( on_triple @ C @ B @ A @ X3 ) @ E ) @ ( labeled_edges @ A @ B @ G ) )
            & ( univalent @ C @ B @ X3 )
            & ( ( domain @ C @ B @ X3 )
              = V3 ) ) ) ) ) ).

% graph_homomorphism_concr_graph
thf(fact_113_le0,axiom,
    ! [N: nat] : ( ord_less_eq @ nat @ ( zero_zero @ nat ) @ N ) ).

% le0
thf(fact_114_bot__nat__0_Oextremum,axiom,
    ! [A2: nat] : ( ord_less_eq @ nat @ ( zero_zero @ nat ) @ A2 ) ).

% bot_nat_0.extremum
thf(fact_115_the__elem__eq,axiom,
    ! [A: $tType,X3: A] :
      ( ( the_elem @ A @ ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) )
      = X3 ) ).

% the_elem_eq
thf(fact_116_bot__apply,axiom,
    ! [C: $tType,D3: $tType] :
      ( ( bot @ C )
     => ( ( bot_bot @ ( D3 > C ) )
        = ( ^ [X4: D3] : ( bot_bot @ C ) ) ) ) ).

% bot_apply
thf(fact_117_prod_Oinject,axiom,
    ! [A: $tType,B: $tType,X1: A,X22: B,Y1: A,Y2: B] :
      ( ( ( product_Pair @ A @ B @ X1 @ X22 )
        = ( product_Pair @ A @ B @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X22 = Y2 ) ) ) ).

% prod.inject
thf(fact_118_old_Oprod_Oinject,axiom,
    ! [A: $tType,B: $tType,A2: A,B2: B,A9: A,B9: B] :
      ( ( ( product_Pair @ A @ B @ A2 @ B2 )
        = ( product_Pair @ A @ B @ A9 @ B9 ) )
      = ( ( A2 = A9 )
        & ( B2 = B9 ) ) ) ).

% old.prod.inject
thf(fact_119_order__refl,axiom,
    ! [A: $tType] :
      ( ( preorder @ A )
     => ! [X3: A] : ( ord_less_eq @ A @ X3 @ X3 ) ) ).

% order_refl
thf(fact_120_on__triple__univ,axiom,
    ! [C: $tType,B: $tType,A: $tType,F: set @ ( product_prod @ A @ B )] :
      ( ( univalent @ A @ B @ F )
     => ( univalent @ ( product_prod @ C @ ( product_prod @ A @ A ) ) @ ( product_prod @ C @ ( product_prod @ B @ B ) ) @ ( on_triple @ A @ B @ C @ F ) ) ) ).

% on_triple_univ
thf(fact_121_on__triple,axiom,
    ! [B: $tType,C: $tType,A: $tType,L1: A,V1: B,V22: B,L2: A,V32: C,V4: C,R2: set @ ( product_prod @ B @ C )] :
      ( ( member @ ( product_prod @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ C @ C ) ) ) @ ( product_Pair @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ L1 @ ( product_Pair @ B @ B @ V1 @ V22 ) ) @ ( product_Pair @ A @ ( product_prod @ C @ C ) @ L2 @ ( product_Pair @ C @ C @ V32 @ V4 ) ) ) @ ( on_triple @ B @ C @ A @ R2 ) )
      = ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ V1 @ V32 ) @ R2 )
        & ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ V22 @ V4 ) @ R2 )
        & ( L1 = L2 ) ) ) ).

% on_triple
thf(fact_122_edge__preservingI,axiom,
    ! [C: $tType,B: $tType,A: $tType,R2: set @ ( product_prod @ C @ B ),E3: set @ ( product_prod @ A @ ( product_prod @ C @ C ) ),G: set @ ( product_prod @ A @ ( product_prod @ B @ B ) )] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( image @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( on_triple @ C @ B @ A @ R2 ) @ E3 ) @ G )
     => ( edge_preserving @ C @ B @ A @ R2 @ E3 @ G ) ) ).

% edge_preservingI
thf(fact_123_Nat_Oex__has__greatest__nat,axiom,
    ! [P: nat > $o,K: nat,B2: nat] :
      ( ( P @ K )
     => ( ! [Y4: nat] :
            ( ( P @ Y4 )
           => ( ord_less_eq @ nat @ Y4 @ B2 ) )
       => ? [X5: nat] :
            ( ( P @ X5 )
            & ! [Y6: nat] :
                ( ( P @ Y6 )
               => ( ord_less_eq @ nat @ Y6 @ X5 ) ) ) ) ) ).

% Nat.ex_has_greatest_nat
thf(fact_124_nat__le__linear,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq @ nat @ M @ N )
      | ( ord_less_eq @ nat @ N @ M ) ) ).

% nat_le_linear
thf(fact_125_le__antisym,axiom,
    ! [M: nat,N: nat] :
      ( ( ord_less_eq @ nat @ M @ N )
     => ( ( ord_less_eq @ nat @ N @ M )
       => ( M = N ) ) ) ).

% le_antisym
thf(fact_126_eq__imp__le,axiom,
    ! [M: nat,N: nat] :
      ( ( M = N )
     => ( ord_less_eq @ nat @ M @ N ) ) ).

% eq_imp_le
thf(fact_127_le__trans,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( ord_less_eq @ nat @ I @ J )
     => ( ( ord_less_eq @ nat @ J @ K )
       => ( ord_less_eq @ nat @ I @ K ) ) ) ).

% le_trans
thf(fact_128_le__refl,axiom,
    ! [N: nat] : ( ord_less_eq @ nat @ N @ N ) ).

% le_refl
thf(fact_129_bot__nat__def,axiom,
    ( ( bot_bot @ nat )
    = ( zero_zero @ nat ) ) ).

% bot_nat_def
thf(fact_130_bot__empty__eq,axiom,
    ! [A: $tType] :
      ( ( bot_bot @ ( A > $o ) )
      = ( ^ [X4: A] : ( member @ A @ X4 @ ( bot_bot @ ( set @ A ) ) ) ) ) ).

% bot_empty_eq
thf(fact_131_bot__set__def,axiom,
    ! [A: $tType] :
      ( ( bot_bot @ ( set @ A ) )
      = ( collect @ A @ ( bot_bot @ ( A > $o ) ) ) ) ).

% bot_set_def
thf(fact_132_edge__preserving,axiom,
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( edge_preserving @ A @ B @ C )
      = ( ^ [R4: set @ ( product_prod @ A @ B ),E4: set @ ( product_prod @ C @ ( product_prod @ A @ A ) )] : ( ord_less_eq @ ( set @ ( product_prod @ C @ ( product_prod @ B @ B ) ) ) @ ( image @ ( product_prod @ C @ ( product_prod @ A @ A ) ) @ ( product_prod @ C @ ( product_prod @ B @ B ) ) @ ( on_triple @ A @ B @ C @ R4 ) @ E4 ) ) ) ) ).

% edge_preserving
thf(fact_133_on__tripleD_I1_J,axiom,
    ! [B: $tType,C: $tType,A: $tType,L1: A,V1: B,V22: B,L2: A,V32: C,V4: C,R2: set @ ( product_prod @ B @ C )] :
      ( ( member @ ( product_prod @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ C @ C ) ) ) @ ( product_Pair @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ L1 @ ( product_Pair @ B @ B @ V1 @ V22 ) ) @ ( product_Pair @ A @ ( product_prod @ C @ C ) @ L2 @ ( product_Pair @ C @ C @ V32 @ V4 ) ) ) @ ( on_triple @ B @ C @ A @ R2 ) )
     => ( L2 = L1 ) ) ).

% on_tripleD(1)
thf(fact_134_on__tripleD_I2_J,axiom,
    ! [A: $tType,C: $tType,B: $tType,L1: A,V1: B,V22: B,L2: A,V32: C,V4: C,R2: set @ ( product_prod @ B @ C )] :
      ( ( member @ ( product_prod @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ C @ C ) ) ) @ ( product_Pair @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ L1 @ ( product_Pair @ B @ B @ V1 @ V22 ) ) @ ( product_Pair @ A @ ( product_prod @ C @ C ) @ L2 @ ( product_Pair @ C @ C @ V32 @ V4 ) ) ) @ ( on_triple @ B @ C @ A @ R2 ) )
     => ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ V1 @ V32 ) @ R2 ) ) ).

% on_tripleD(2)
thf(fact_135_on__tripleD_I3_J,axiom,
    ! [A: $tType,C: $tType,B: $tType,L1: A,V1: B,V22: B,L2: A,V32: C,V4: C,R2: set @ ( product_prod @ B @ C )] :
      ( ( member @ ( product_prod @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ C @ C ) ) ) @ ( product_Pair @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ L1 @ ( product_Pair @ B @ B @ V1 @ V22 ) ) @ ( product_Pair @ A @ ( product_prod @ C @ C ) @ L2 @ ( product_Pair @ C @ C @ V32 @ V4 ) ) ) @ ( on_triple @ B @ C @ A @ R2 ) )
     => ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ V22 @ V4 ) @ R2 ) ) ).

% on_tripleD(3)
thf(fact_136_on__triple__dest,axiom,
    ! [C: $tType,B: $tType,A: $tType,R2: set @ ( product_prod @ C @ B ),E3: set @ ( product_prod @ A @ ( product_prod @ C @ C ) ),G: set @ ( product_prod @ A @ ( product_prod @ B @ B ) ),L3: A,X3: C,Y: C,Xx: B,Yy: B] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( image @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( on_triple @ C @ B @ A @ R2 ) @ E3 ) @ G )
     => ( ( member @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_Pair @ A @ ( product_prod @ C @ C ) @ L3 @ ( product_Pair @ C @ C @ X3 @ Y ) ) @ E3 )
       => ( ( member @ ( product_prod @ C @ B ) @ ( product_Pair @ C @ B @ X3 @ Xx ) @ R2 )
         => ( ( member @ ( product_prod @ C @ B ) @ ( product_Pair @ C @ B @ Y @ Yy ) @ R2 )
           => ( member @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_Pair @ A @ ( product_prod @ B @ B ) @ L3 @ ( product_Pair @ B @ B @ Xx @ Yy ) ) @ G ) ) ) ) ) ).

% on_triple_dest
thf(fact_137_dual__order_Oantisym,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ! [B2: A,A2: A] :
          ( ( ord_less_eq @ A @ B2 @ A2 )
         => ( ( ord_less_eq @ A @ A2 @ B2 )
           => ( A2 = B2 ) ) ) ) ).

% dual_order.antisym
thf(fact_138_dual__order_Oeq__iff,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ( ( ^ [Y5: A,Z: A] : Y5 = Z )
        = ( ^ [A7: A,B5: A] :
              ( ( ord_less_eq @ A @ B5 @ A7 )
              & ( ord_less_eq @ A @ A7 @ B5 ) ) ) ) ) ).

% dual_order.eq_iff
thf(fact_139_dual__order_Otrans,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ! [B2: A,A2: A,C3: A] :
          ( ( ord_less_eq @ A @ B2 @ A2 )
         => ( ( ord_less_eq @ A @ C3 @ B2 )
           => ( ord_less_eq @ A @ C3 @ A2 ) ) ) ) ).

% dual_order.trans
thf(fact_140_linorder__wlog,axiom,
    ! [A: $tType] :
      ( ( linorder @ A )
     => ! [P: A > A > $o,A2: A,B2: A] :
          ( ! [A6: A,B4: A] :
              ( ( ord_less_eq @ A @ A6 @ B4 )
             => ( P @ A6 @ B4 ) )
         => ( ! [A6: A,B4: A] :
                ( ( P @ B4 @ A6 )
               => ( P @ A6 @ B4 ) )
           => ( P @ A2 @ B2 ) ) ) ) ).

% linorder_wlog
thf(fact_141_dual__order_Orefl,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ! [A2: A] : ( ord_less_eq @ A @ A2 @ A2 ) ) ).

% dual_order.refl
thf(fact_142_order__trans,axiom,
    ! [A: $tType] :
      ( ( preorder @ A )
     => ! [X3: A,Y: A,Z2: A] :
          ( ( ord_less_eq @ A @ X3 @ Y )
         => ( ( ord_less_eq @ A @ Y @ Z2 )
           => ( ord_less_eq @ A @ X3 @ Z2 ) ) ) ) ).

% order_trans
thf(fact_143_order__class_Oorder_Oantisym,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ! [A2: A,B2: A] :
          ( ( ord_less_eq @ A @ A2 @ B2 )
         => ( ( ord_less_eq @ A @ B2 @ A2 )
           => ( A2 = B2 ) ) ) ) ).

% order_class.order.antisym
thf(fact_144_ord__le__eq__trans,axiom,
    ! [A: $tType] :
      ( ( ord @ A )
     => ! [A2: A,B2: A,C3: A] :
          ( ( ord_less_eq @ A @ A2 @ B2 )
         => ( ( B2 = C3 )
           => ( ord_less_eq @ A @ A2 @ C3 ) ) ) ) ).

% ord_le_eq_trans
thf(fact_145_ord__eq__le__trans,axiom,
    ! [A: $tType] :
      ( ( ord @ A )
     => ! [A2: A,B2: A,C3: A] :
          ( ( A2 = B2 )
         => ( ( ord_less_eq @ A @ B2 @ C3 )
           => ( ord_less_eq @ A @ A2 @ C3 ) ) ) ) ).

% ord_eq_le_trans
thf(fact_146_order__class_Oorder_Oeq__iff,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ( ( ^ [Y5: A,Z: A] : Y5 = Z )
        = ( ^ [A7: A,B5: A] :
              ( ( ord_less_eq @ A @ A7 @ B5 )
              & ( ord_less_eq @ A @ B5 @ A7 ) ) ) ) ) ).

% order_class.order.eq_iff
thf(fact_147_antisym__conv,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ! [Y: A,X3: A] :
          ( ( ord_less_eq @ A @ Y @ X3 )
         => ( ( ord_less_eq @ A @ X3 @ Y )
            = ( X3 = Y ) ) ) ) ).

% antisym_conv
thf(fact_148_le__cases3,axiom,
    ! [A: $tType] :
      ( ( linorder @ A )
     => ! [X3: A,Y: A,Z2: A] :
          ( ( ( ord_less_eq @ A @ X3 @ Y )
           => ~ ( ord_less_eq @ A @ Y @ Z2 ) )
         => ( ( ( ord_less_eq @ A @ Y @ X3 )
             => ~ ( ord_less_eq @ A @ X3 @ Z2 ) )
           => ( ( ( ord_less_eq @ A @ X3 @ Z2 )
               => ~ ( ord_less_eq @ A @ Z2 @ Y ) )
             => ( ( ( ord_less_eq @ A @ Z2 @ Y )
                 => ~ ( ord_less_eq @ A @ Y @ X3 ) )
               => ( ( ( ord_less_eq @ A @ Y @ Z2 )
                   => ~ ( ord_less_eq @ A @ Z2 @ X3 ) )
                 => ~ ( ( ord_less_eq @ A @ Z2 @ X3 )
                     => ~ ( ord_less_eq @ A @ X3 @ Y ) ) ) ) ) ) ) ) ).

% le_cases3
thf(fact_149_order_Otrans,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ! [A2: A,B2: A,C3: A] :
          ( ( ord_less_eq @ A @ A2 @ B2 )
         => ( ( ord_less_eq @ A @ B2 @ C3 )
           => ( ord_less_eq @ A @ A2 @ C3 ) ) ) ) ).

% order.trans
thf(fact_150_le__cases,axiom,
    ! [A: $tType] :
      ( ( linorder @ A )
     => ! [X3: A,Y: A] :
          ( ~ ( ord_less_eq @ A @ X3 @ Y )
         => ( ord_less_eq @ A @ Y @ X3 ) ) ) ).

% le_cases
thf(fact_151_eq__refl,axiom,
    ! [A: $tType] :
      ( ( preorder @ A )
     => ! [X3: A,Y: A] :
          ( ( X3 = Y )
         => ( ord_less_eq @ A @ X3 @ Y ) ) ) ).

% eq_refl
thf(fact_152_linear,axiom,
    ! [A: $tType] :
      ( ( linorder @ A )
     => ! [X3: A,Y: A] :
          ( ( ord_less_eq @ A @ X3 @ Y )
          | ( ord_less_eq @ A @ Y @ X3 ) ) ) ).

% linear
thf(fact_153_antisym,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ! [X3: A,Y: A] :
          ( ( ord_less_eq @ A @ X3 @ Y )
         => ( ( ord_less_eq @ A @ Y @ X3 )
           => ( X3 = Y ) ) ) ) ).

% antisym
thf(fact_154_eq__iff,axiom,
    ! [A: $tType] :
      ( ( order @ A )
     => ( ( ^ [Y5: A,Z: A] : Y5 = Z )
        = ( ^ [X4: A,Y3: A] :
              ( ( ord_less_eq @ A @ X4 @ Y3 )
              & ( ord_less_eq @ A @ Y3 @ X4 ) ) ) ) ) ).

% eq_iff
thf(fact_155_ord__le__eq__subst,axiom,
    ! [A: $tType,B: $tType] :
      ( ( ( ord @ B )
        & ( ord @ A ) )
     => ! [A2: A,B2: A,F: A > B,C3: B] :
          ( ( ord_less_eq @ A @ A2 @ B2 )
         => ( ( ( F @ B2 )
              = C3 )
           => ( ! [X5: A,Y4: A] :
                  ( ( ord_less_eq @ A @ X5 @ Y4 )
                 => ( ord_less_eq @ B @ ( F @ X5 ) @ ( F @ Y4 ) ) )
             => ( ord_less_eq @ B @ ( F @ A2 ) @ C3 ) ) ) ) ) ).

% ord_le_eq_subst
thf(fact_156_ord__eq__le__subst,axiom,
    ! [A: $tType,B: $tType] :
      ( ( ( ord @ B )
        & ( ord @ A ) )
     => ! [A2: A,F: B > A,B2: B,C3: B] :
          ( ( A2
            = ( F @ B2 ) )
         => ( ( ord_less_eq @ B @ B2 @ C3 )
           => ( ! [X5: B,Y4: B] :
                  ( ( ord_less_eq @ B @ X5 @ Y4 )
                 => ( ord_less_eq @ A @ ( F @ X5 ) @ ( F @ Y4 ) ) )
             => ( ord_less_eq @ A @ A2 @ ( F @ C3 ) ) ) ) ) ) ).

% ord_eq_le_subst
thf(fact_157_order__subst2,axiom,
    ! [A: $tType,C: $tType] :
      ( ( ( order @ C )
        & ( order @ A ) )
     => ! [A2: A,B2: A,F: A > C,C3: C] :
          ( ( ord_less_eq @ A @ A2 @ B2 )
         => ( ( ord_less_eq @ C @ ( F @ B2 ) @ C3 )
           => ( ! [X5: A,Y4: A] :
                  ( ( ord_less_eq @ A @ X5 @ Y4 )
                 => ( ord_less_eq @ C @ ( F @ X5 ) @ ( F @ Y4 ) ) )
             => ( ord_less_eq @ C @ ( F @ A2 ) @ C3 ) ) ) ) ) ).

% order_subst2
thf(fact_158_order__subst1,axiom,
    ! [A: $tType,B: $tType] :
      ( ( ( order @ B )
        & ( order @ A ) )
     => ! [A2: A,F: B > A,B2: B,C3: B] :
          ( ( ord_less_eq @ A @ A2 @ ( F @ B2 ) )
         => ( ( ord_less_eq @ B @ B2 @ C3 )
           => ( ! [X5: B,Y4: B] :
                  ( ( ord_less_eq @ B @ X5 @ Y4 )
                 => ( ord_less_eq @ A @ ( F @ X5 ) @ ( F @ Y4 ) ) )
             => ( ord_less_eq @ A @ A2 @ ( F @ C3 ) ) ) ) ) ) ).

% order_subst1
thf(fact_159_le__fun__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( ord @ B )
     => ( ( ord_less_eq @ ( A > B ) )
        = ( ^ [F2: A > B,G3: A > B] :
            ! [X4: A] : ( ord_less_eq @ B @ ( F2 @ X4 ) @ ( G3 @ X4 ) ) ) ) ) ).

% le_fun_def
thf(fact_160_le__funI,axiom,
    ! [B: $tType,A: $tType] :
      ( ( ord @ B )
     => ! [F: A > B,G2: A > B] :
          ( ! [X5: A] : ( ord_less_eq @ B @ ( F @ X5 ) @ ( G2 @ X5 ) )
         => ( ord_less_eq @ ( A > B ) @ F @ G2 ) ) ) ).

% le_funI
thf(fact_161_le__funE,axiom,
    ! [B: $tType,A: $tType] :
      ( ( ord @ B )
     => ! [F: A > B,G2: A > B,X3: A] :
          ( ( ord_less_eq @ ( A > B ) @ F @ G2 )
         => ( ord_less_eq @ B @ ( F @ X3 ) @ ( G2 @ X3 ) ) ) ) ).

% le_funE
thf(fact_162_le__funD,axiom,
    ! [B: $tType,A: $tType] :
      ( ( ord @ B )
     => ! [F: A > B,G2: A > B,X3: A] :
          ( ( ord_less_eq @ ( A > B ) @ F @ G2 )
         => ( ord_less_eq @ B @ ( F @ X3 ) @ ( G2 @ X3 ) ) ) ) ).

% le_funD
thf(fact_163_old_Oprod_Oinducts,axiom,
    ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
      ( ! [A6: A,B4: B] : ( P @ ( product_Pair @ A @ B @ A6 @ B4 ) )
     => ( P @ Prod ) ) ).

% old.prod.inducts
thf(fact_164_old_Oprod_Oexhaust,axiom,
    ! [A: $tType,B: $tType,Y: product_prod @ A @ B] :
      ~ ! [A6: A,B4: B] :
          ( Y
         != ( product_Pair @ A @ B @ A6 @ B4 ) ) ).

% old.prod.exhaust
thf(fact_165_Pair__inject,axiom,
    ! [A: $tType,B: $tType,A2: A,B2: B,A9: A,B9: B] :
      ( ( ( product_Pair @ A @ B @ A2 @ B2 )
        = ( product_Pair @ A @ B @ A9 @ B9 ) )
     => ~ ( ( A2 = A9 )
         => ( B2 != B9 ) ) ) ).

% Pair_inject
thf(fact_166_prod__cases,axiom,
    ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P2: product_prod @ A @ B] :
      ( ! [A6: A,B4: B] : ( P @ ( product_Pair @ A @ B @ A6 @ B4 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_167_surj__pair,axiom,
    ! [A: $tType,B: $tType,P2: product_prod @ A @ B] :
    ? [X5: A,Y4: B] :
      ( P2
      = ( product_Pair @ A @ B @ X5 @ Y4 ) ) ).

% surj_pair
thf(fact_168_bot__fun__def,axiom,
    ! [B: $tType,A: $tType] :
      ( ( bot @ B )
     => ( ( bot_bot @ ( A > B ) )
        = ( ^ [X4: A] : ( bot_bot @ B ) ) ) ) ).

% bot_fun_def
thf(fact_169_bot__nat__0_Oextremum__uniqueI,axiom,
    ! [A2: nat] :
      ( ( ord_less_eq @ nat @ A2 @ ( zero_zero @ nat ) )
     => ( A2
        = ( zero_zero @ nat ) ) ) ).

% bot_nat_0.extremum_uniqueI
thf(fact_170_bot__nat__0_Oextremum__unique,axiom,
    ! [A2: nat] :
      ( ( ord_less_eq @ nat @ A2 @ ( zero_zero @ nat ) )
      = ( A2
        = ( zero_zero @ nat ) ) ) ).

% bot_nat_0.extremum_unique
thf(fact_171_le__0__eq,axiom,
    ! [N: nat] :
      ( ( ord_less_eq @ nat @ N @ ( zero_zero @ nat ) )
      = ( N
        = ( zero_zero @ nat ) ) ) ).

% le_0_eq
thf(fact_172_less__eq__nat_Osimps_I1_J,axiom,
    ! [N: nat] : ( ord_less_eq @ nat @ ( zero_zero @ nat ) @ N ) ).

% less_eq_nat.simps(1)
thf(fact_173_bot_Oextremum__uniqueI,axiom,
    ! [A: $tType] :
      ( ( order_bot @ A )
     => ! [A2: A] :
          ( ( ord_less_eq @ A @ A2 @ ( bot_bot @ A ) )
         => ( A2
            = ( bot_bot @ A ) ) ) ) ).

% bot.extremum_uniqueI
thf(fact_174_bot_Oextremum__unique,axiom,
    ! [A: $tType] :
      ( ( order_bot @ A )
     => ! [A2: A] :
          ( ( ord_less_eq @ A @ A2 @ ( bot_bot @ A ) )
          = ( A2
            = ( bot_bot @ A ) ) ) ) ).

% bot.extremum_unique
thf(fact_175_bot_Oextremum,axiom,
    ! [A: $tType] :
      ( ( order_bot @ A )
     => ! [A2: A] : ( ord_less_eq @ A @ ( bot_bot @ A ) @ A2 ) ) ).

% bot.extremum
thf(fact_176_prod__induct7,axiom,
    ! [G4: $tType,F3: $tType,E5: $tType,D3: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) ) ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) ) ) )] :
      ( ! [A6: A,B4: B,C6: C,D4: D3,E6: E5,F4: F3,G5: G4] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) ) @ C6 @ ( product_Pair @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) @ D4 @ ( product_Pair @ E5 @ ( product_prod @ F3 @ G4 ) @ E6 @ ( product_Pair @ F3 @ G4 @ F4 @ G5 ) ) ) ) ) ) )
     => ( P @ X3 ) ) ).

% prod_induct7
thf(fact_177_prod__induct6,axiom,
    ! [F3: $tType,E5: $tType,D3: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ F3 ) ) ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ F3 ) ) ) )] :
      ( ! [A6: A,B4: B,C6: C,D4: D3,E6: E5,F4: F3] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ F3 ) ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ F3 ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ F3 ) ) @ C6 @ ( product_Pair @ D3 @ ( product_prod @ E5 @ F3 ) @ D4 @ ( product_Pair @ E5 @ F3 @ E6 @ F4 ) ) ) ) ) )
     => ( P @ X3 ) ) ).

% prod_induct6
thf(fact_178_prod__induct5,axiom,
    ! [E5: $tType,D3: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ E5 ) ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ E5 ) ) )] :
      ( ! [A6: A,B4: B,C6: C,D4: D3,E6: E5] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ E5 ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D3 @ E5 ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D3 @ E5 ) @ C6 @ ( product_Pair @ D3 @ E5 @ D4 @ E6 ) ) ) ) )
     => ( P @ X3 ) ) ).

% prod_induct5
thf(fact_179_prod__induct4,axiom,
    ! [D3: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D3 ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D3 ) )] :
      ( ! [A6: A,B4: B,C6: C,D4: D3] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D3 ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ D3 ) @ B4 @ ( product_Pair @ C @ D3 @ C6 @ D4 ) ) ) )
     => ( P @ X3 ) ) ).

% prod_induct4
thf(fact_180_prod__induct3,axiom,
    ! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ C )] :
      ( ! [A6: A,B4: B,C6: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A6 @ ( product_Pair @ B @ C @ B4 @ C6 ) ) )
     => ( P @ X3 ) ) ).

% prod_induct3
thf(fact_181_prod__cases7,axiom,
    ! [A: $tType,B: $tType,C: $tType,D3: $tType,E5: $tType,F3: $tType,G4: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) ) ) )] :
      ~ ! [A6: A,B4: B,C6: C,D4: D3,E6: E5,F4: F3,G5: G4] :
          ( Y
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) ) @ C6 @ ( product_Pair @ D3 @ ( product_prod @ E5 @ ( product_prod @ F3 @ G4 ) ) @ D4 @ ( product_Pair @ E5 @ ( product_prod @ F3 @ G4 ) @ E6 @ ( product_Pair @ F3 @ G4 @ F4 @ G5 ) ) ) ) ) ) ) ).

% prod_cases7
thf(fact_182_prod__cases6,axiom,
    ! [A: $tType,B: $tType,C: $tType,D3: $tType,E5: $tType,F3: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ F3 ) ) ) )] :
      ~ ! [A6: A,B4: B,C6: C,D4: D3,E6: E5,F4: F3] :
          ( Y
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ F3 ) ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ F3 ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D3 @ ( product_prod @ E5 @ F3 ) ) @ C6 @ ( product_Pair @ D3 @ ( product_prod @ E5 @ F3 ) @ D4 @ ( product_Pair @ E5 @ F3 @ E6 @ F4 ) ) ) ) ) ) ).

% prod_cases6
thf(fact_183_prod__cases5,axiom,
    ! [A: $tType,B: $tType,C: $tType,D3: $tType,E5: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ E5 ) ) )] :
      ~ ! [A6: A,B4: B,C6: C,D4: D3,E6: E5] :
          ( Y
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D3 @ E5 ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D3 @ E5 ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D3 @ E5 ) @ C6 @ ( product_Pair @ D3 @ E5 @ D4 @ E6 ) ) ) ) ) ).

% prod_cases5
thf(fact_184_prod__cases4,axiom,
    ! [A: $tType,B: $tType,C: $tType,D3: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D3 ) )] :
      ~ ! [A6: A,B4: B,C6: C,D4: D3] :
          ( Y
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D3 ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ D3 ) @ B4 @ ( product_Pair @ C @ D3 @ C6 @ D4 ) ) ) ) ).

% prod_cases4
thf(fact_185_prod__cases3,axiom,
    ! [A: $tType,B: $tType,C: $tType,Y: product_prod @ A @ ( product_prod @ B @ C )] :
      ~ ! [A6: A,B4: B,C6: C] :
          ( Y
         != ( product_Pair @ A @ ( product_prod @ B @ C ) @ A6 @ ( product_Pair @ B @ C @ B4 @ C6 ) ) ) ).

% prod_cases3
thf(fact_186_old_Oprod_Orec,axiom,
    ! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A2: A,B2: B] :
      ( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A2 @ B2 ) )
      = ( F1 @ A2 @ B2 ) ) ).

% old.prod.rec
thf(fact_187_is__singleton__the__elem,axiom,
    ! [A: $tType] :
      ( ( is_singleton @ A )
      = ( ^ [A8: set @ A] :
            ( A8
            = ( insert @ A @ ( the_elem @ A @ A8 ) @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).

% is_singleton_the_elem
thf(fact_188_top__rule__def,axiom,
    ! [L: $tType] :
      ( ( standa400804411p_rule @ L )
      = ( ^ [T2: L] : ( product_Pair @ ( labeled_graph @ L @ nat ) @ ( labeled_graph @ L @ nat ) @ ( labeled_LG @ L @ nat @ ( bot_bot @ ( set @ ( product_prod @ L @ ( product_prod @ nat @ nat ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( insert @ nat @ ( one_one @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) ) @ ( labeled_LG @ L @ nat @ ( insert @ ( product_prod @ L @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ L @ ( product_prod @ nat @ nat ) @ T2 @ ( product_Pair @ nat @ nat @ ( zero_zero @ nat ) @ ( one_one @ nat ) ) ) @ ( bot_bot @ ( set @ ( product_prod @ L @ ( product_prod @ nat @ nat ) ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( insert @ nat @ ( one_one @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) ) ) ) ) ).

% top_rule_def
thf(fact_189_map__graph__def,axiom,
    ! [A: $tType,B: $tType,C: $tType] :
      ( ( map_graph @ C @ B @ A )
      = ( ^ [F2: set @ ( product_prod @ C @ B ),G6: labeled_graph @ A @ C] : ( labeled_LG @ A @ B @ ( image @ ( product_prod @ A @ ( product_prod @ C @ C ) ) @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( on_triple @ C @ B @ A @ F2 ) @ ( labeled_edges @ A @ C @ G6 ) ) @ ( image @ C @ B @ F2 @ ( labeled_vertices @ A @ C @ G6 ) ) ) ) ) ).

% map_graph_def
thf(fact_190_map__graph__preserves__restricted,axiom,
    ! [C: $tType,B: $tType,A: $tType,G: labeled_graph @ A @ B,F: set @ ( product_prod @ B @ C )] :
      ( ( G
        = ( restrict @ A @ B @ G ) )
     => ( ( map_graph @ B @ C @ A @ F @ G )
        = ( restrict @ A @ C @ ( map_graph @ B @ C @ A @ F @ G ) ) ) ) ).

% map_graph_preserves_restricted
thf(fact_191_map__graph__selectors_I1_J,axiom,
    ! [A: $tType,C: $tType,B: $tType,F: set @ ( product_prod @ C @ A ),G: labeled_graph @ B @ C] :
      ( ( labeled_vertices @ B @ A @ ( map_graph @ C @ A @ B @ F @ G ) )
      = ( image @ C @ A @ F @ ( labeled_vertices @ B @ C @ G ) ) ) ).

% map_graph_selectors(1)
thf(fact_192_is__singletonI,axiom,
    ! [A: $tType,X3: A] : ( is_singleton @ A @ ( insert @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) ) ).

% is_singletonI
thf(fact_193_map__graph__edge__preserving,axiom,
    ! [B: $tType,A: $tType,C: $tType,F: set @ ( product_prod @ A @ B ),G: labeled_graph @ C @ A] : ( edge_preserving @ A @ B @ C @ F @ ( labeled_edges @ C @ A @ G ) @ ( labeled_edges @ C @ B @ ( map_graph @ A @ B @ C @ F @ G ) ) ) ).

% map_graph_edge_preserving
thf(fact_194_map__graph__selectors_I2_J,axiom,
    ! [A: $tType,C: $tType,B: $tType,F: set @ ( product_prod @ C @ A ),G: labeled_graph @ B @ C] :
      ( ( labeled_edges @ B @ A @ ( map_graph @ C @ A @ B @ F @ G ) )
      = ( image @ ( product_prod @ B @ ( product_prod @ C @ C ) ) @ ( product_prod @ B @ ( product_prod @ A @ A ) ) @ ( on_triple @ C @ A @ B @ F ) @ ( labeled_edges @ B @ C @ G ) ) ) ).

% map_graph_selectors(2)
thf(fact_195_map__graph__homo,axiom,
    ! [C: $tType,B: $tType,A: $tType,F: set @ ( product_prod @ A @ B ),G: labeled_graph @ C @ A] :
      ( ( univalent @ A @ B @ F )
     => ( ( ( labeled_vertices @ C @ A @ G )
          = ( domain @ A @ B @ F ) )
       => ( ( G
            = ( restrict @ C @ A @ G ) )
         => ( graph_homomorphism @ C @ A @ B @ G @ ( map_graph @ A @ B @ C @ F @ G ) @ F ) ) ) ) ).

% map_graph_homo
thf(fact_196_one__reorient,axiom,
    ! [A: $tType] :
      ( ( one @ A )
     => ! [X3: A] :
          ( ( ( one_one @ A )
            = X3 )
          = ( X3
            = ( one_one @ A ) ) ) ) ).

% one_reorient
thf(fact_197_is__singletonI_H,axiom,
    ! [A: $tType,A4: set @ A] :
      ( ( A4
       != ( bot_bot @ ( set @ A ) ) )
     => ( ! [X5: A,Y4: A] :
            ( ( member @ A @ X5 @ A4 )
           => ( ( member @ A @ Y4 @ A4 )
             => ( X5 = Y4 ) ) )
       => ( is_singleton @ A @ A4 ) ) ) ).

% is_singletonI'
thf(fact_198_map__graph__returns__restricted,axiom,
    ! [C: $tType,A: $tType,B: $tType,G: labeled_graph @ B @ A,F: set @ ( product_prod @ A @ C )] :
      ( ( ( labeled_vertices @ B @ A @ G )
        = ( domain @ A @ C @ F ) )
     => ( ( map_graph @ A @ C @ B @ F @ G )
        = ( restrict @ B @ C @ ( map_graph @ A @ C @ B @ F @ G ) ) ) ) ).

% map_graph_returns_restricted
thf(fact_199_is__singletonE,axiom,
    ! [A: $tType,A4: set @ A] :
      ( ( is_singleton @ A @ A4 )
     => ~ ! [X5: A] :
            ( A4
           != ( insert @ A @ X5 @ ( bot_bot @ ( set @ A ) ) ) ) ) ).

% is_singletonE
thf(fact_200_is__singleton__def,axiom,
    ! [A: $tType] :
      ( ( is_singleton @ A )
      = ( ^ [A8: set @ A] :
          ? [X4: A] :
            ( A8
            = ( insert @ A @ X4 @ ( bot_bot @ ( set @ A ) ) ) ) ) ) ).

% is_singleton_def
thf(fact_201_map__graph__homo__simp,axiom,
    ! [C: $tType,B: $tType,A: $tType,G: labeled_graph @ A @ B,F: set @ ( product_prod @ B @ C )] :
      ( ( graph_homomorphism @ A @ B @ C @ G @ ( map_graph @ B @ C @ A @ F @ G ) @ F )
      = ( ( univalent @ B @ C @ F )
        & ( ( labeled_vertices @ A @ B @ G )
          = ( domain @ B @ C @ F ) )
        & ( G
          = ( restrict @ A @ B @ G ) ) ) ) ).

% map_graph_homo_simp
thf(fact_202_not__one__le__zero,axiom,
    ! [A: $tType] :
      ( ( linord1659791738miring @ A )
     => ~ ( ord_less_eq @ A @ ( one_one @ A ) @ ( zero_zero @ A ) ) ) ).

% not_one_le_zero
thf(fact_203_zero__le__one,axiom,
    ! [A: $tType] :
      ( ( linord1659791738miring @ A )
     => ( ord_less_eq @ A @ ( zero_zero @ A ) @ ( one_one @ A ) ) ) ).

% zero_le_one
thf(fact_204_zero__neq__one,axiom,
    ! [A: $tType] :
      ( ( zero_neq_one @ A )
     => ( ( zero_zero @ A )
       != ( one_one @ A ) ) ) ).

% zero_neq_one
thf(fact_205_graph__homomorphism__def2,axiom,
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( graph_homomorphism @ A @ B @ C )
      = ( ^ [G_1: labeled_graph @ A @ B,G_2: labeled_graph @ A @ C,F2: set @ ( product_prod @ B @ C )] :
            ( ( ( labeled_vertices @ A @ B @ G_1 )
              = ( domain @ B @ C @ F2 ) )
            & ( univalent @ B @ C @ F2 )
            & ( G_1
              = ( restrict @ A @ B @ G_1 ) )
            & ( G_2
              = ( restrict @ A @ C @ G_2 ) )
            & ( ( graph_union @ A @ C @ ( map_graph @ B @ C @ A @ F2 @ G_1 ) @ G_2 )
              = G_2 ) ) ) ) ).

% graph_homomorphism_def2
thf(fact_206_Collect__empty__eq__bot,axiom,
    ! [A: $tType,P: A > $o] :
      ( ( ( collect @ A @ P )
        = ( bot_bot @ ( set @ A ) ) )
      = ( P
        = ( bot_bot @ ( A > $o ) ) ) ) ).

% Collect_empty_eq_bot
thf(fact_207_graph__union__idemp_I3_J,axiom,
    ! [B: $tType,A: $tType,A4: labeled_graph @ A @ B,B6: labeled_graph @ A @ B] :
      ( ( graph_union @ A @ B @ A4 @ ( graph_union @ A @ B @ B6 @ A4 ) )
      = ( graph_union @ A @ B @ B6 @ A4 ) ) ).

% graph_union_idemp(3)
thf(fact_208_graph__union__idemp_I2_J,axiom,
    ! [B: $tType,A: $tType,A4: labeled_graph @ A @ B,B6: labeled_graph @ A @ B] :
      ( ( graph_union @ A @ B @ A4 @ ( graph_union @ A @ B @ A4 @ B6 ) )
      = ( graph_union @ A @ B @ A4 @ B6 ) ) ).

% graph_union_idemp(2)
thf(fact_209_graph__union__idemp_I1_J,axiom,
    ! [B: $tType,A: $tType,A4: labeled_graph @ A @ B] :
      ( ( graph_union @ A @ B @ A4 @ A4 )
      = A4 ) ).

% graph_union_idemp(1)
thf(fact_210_graph__union__preserves__restrict,axiom,
    ! [B: $tType,A: $tType,G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B] :
      ( ( G_12
        = ( restrict @ A @ B @ G_12 ) )
     => ( ( G_22
          = ( restrict @ A @ B @ G_22 ) )
       => ( ( graph_union @ A @ B @ G_12 @ G_22 )
          = ( restrict @ A @ B @ ( graph_union @ A @ B @ G_12 @ G_22 ) ) ) ) ) ).

% graph_union_preserves_restrict
thf(fact_211_graph__unionI,axiom,
    ! [B: $tType,A: $tType,G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G_12 ) @ ( labeled_edges @ A @ B @ G_22 ) )
     => ( ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_12 ) @ ( labeled_vertices @ A @ B @ G_22 ) )
       => ( ( graph_union @ A @ B @ G_12 @ G_22 )
          = G_22 ) ) ) ).

% graph_unionI
thf(fact_212_graph__union__iff,axiom,
    ! [B: $tType,A: $tType,G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B] :
      ( ( ( graph_union @ A @ B @ G_12 @ G_22 )
        = G_22 )
      = ( ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G_12 ) @ ( labeled_edges @ A @ B @ G_22 ) )
        & ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_12 ) @ ( labeled_vertices @ A @ B @ G_22 ) ) ) ) ).

% graph_union_iff
thf(fact_213_less__by__empty,axiom,
    ! [A: $tType,A4: set @ ( product_prod @ A @ A ),B6: set @ ( product_prod @ A @ A )] :
      ( ( A4
        = ( bot_bot @ ( set @ ( product_prod @ A @ A ) ) ) )
     => ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ A4 @ B6 ) ) ).

% less_by_empty
thf(fact_214_on__triple__ID__restrict,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B] :
      ( ( image @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( product_prod @ A @ ( product_prod @ B @ B ) ) @ ( on_triple @ B @ B @ A @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G ) ) ) @ ( labeled_edges @ A @ B @ G ) )
      = ( labeled_edges @ A @ B @ ( restrict @ A @ B @ G ) ) ) ).

% on_triple_ID_restrict
thf(fact_215_Id__onI,axiom,
    ! [A: $tType,A2: A,A4: set @ A] :
      ( ( member @ A @ A2 @ A4 )
     => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ A2 ) @ ( id_on @ A @ A4 ) ) ) ).

% Id_onI
thf(fact_216_Domain__Id__on,axiom,
    ! [A: $tType,A4: set @ A] :
      ( ( domain @ A @ A @ ( id_on @ A @ A4 ) )
      = A4 ) ).

% Domain_Id_on
thf(fact_217_id__univalent,axiom,
    ! [A: $tType,X3: set @ A] : ( univalent @ A @ A @ ( id_on @ A @ X3 ) ) ).

% id_univalent
thf(fact_218_edge__preserving__Id,axiom,
    ! [A: $tType,B: $tType,Y: set @ A,X3: set @ ( product_prod @ B @ ( product_prod @ A @ A ) )] : ( edge_preserving @ A @ A @ B @ ( id_on @ A @ Y ) @ X3 @ X3 ) ).

% edge_preserving_Id
thf(fact_219_Id__on__empty,axiom,
    ! [A: $tType] :
      ( ( id_on @ A @ ( bot_bot @ ( set @ A ) ) )
      = ( bot_bot @ ( set @ ( product_prod @ A @ A ) ) ) ) ).

% Id_on_empty
thf(fact_220_graph__homomorphism__Id,axiom,
    ! [B: $tType,A: $tType,A2: labeled_graph @ A @ B] : ( graph_homomorphism @ A @ B @ B @ ( restrict @ A @ B @ A2 ) @ ( restrict @ A @ B @ A2 ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A2 ) ) ) ).

% graph_homomorphism_Id
thf(fact_221_subgraph__restrict,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B] :
      ( ( graph_homomorphism @ A @ B @ B @ G @ ( restrict @ A @ B @ G ) @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G ) ) )
      = ( G
        = ( restrict @ A @ B @ G ) ) ) ).

% subgraph_restrict
thf(fact_222_subgraph__refl,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B] :
      ( ( graph_homomorphism @ A @ B @ B @ G @ G @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G ) ) )
      = ( G
        = ( restrict @ A @ B @ G ) ) ) ).

% subgraph_refl
thf(fact_223_map__graph__preserves__subgraph,axiom,
    ! [C: $tType,B: $tType,A: $tType,A4: labeled_graph @ A @ B,B6: labeled_graph @ A @ B,F: set @ ( product_prod @ B @ C )] :
      ( ( graph_homomorphism @ A @ B @ B @ A4 @ B6 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A4 ) ) )
     => ( graph_homomorphism @ A @ C @ C @ ( map_graph @ B @ C @ A @ F @ A4 ) @ ( map_graph @ B @ C @ A @ F @ B6 ) @ ( id_on @ C @ ( labeled_vertices @ A @ C @ ( map_graph @ B @ C @ A @ F @ A4 ) ) ) ) ) ).

% map_graph_preserves_subgraph
thf(fact_224_map__graph__fn__id_I2_J,axiom,
    ! [B: $tType,A: $tType,X2: labeled_graph @ A @ B] :
      ( ( map_graph @ B @ B @ A @ ( id_on @ B @ ( labeled_vertices @ A @ B @ X2 ) ) @ X2 )
      = ( restrict @ A @ B @ X2 ) ) ).

% map_graph_fn_id(2)
thf(fact_225_Id__on__iff,axiom,
    ! [A: $tType,X3: A,Y: A,A4: set @ A] :
      ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y ) @ ( id_on @ A @ A4 ) )
      = ( ( X3 = Y )
        & ( member @ A @ X3 @ A4 ) ) ) ).

% Id_on_iff
thf(fact_226_Id__on__eqI,axiom,
    ! [A: $tType,A2: A,B2: A,A4: set @ A] :
      ( ( A2 = B2 )
     => ( ( member @ A @ A2 @ A4 )
       => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ B2 ) @ ( id_on @ A @ A4 ) ) ) ) ).

% Id_on_eqI
thf(fact_227_Id__onE,axiom,
    ! [A: $tType,C3: product_prod @ A @ A,A4: set @ A] :
      ( ( member @ ( product_prod @ A @ A ) @ C3 @ ( id_on @ A @ A4 ) )
     => ~ ! [X5: A] :
            ( ( member @ A @ X5 @ A4 )
           => ( C3
             != ( product_Pair @ A @ A @ X5 @ X5 ) ) ) ) ).

% Id_onE
thf(fact_228_subgraph__preserves__hom,axiom,
    ! [A: $tType,B: $tType,C: $tType,A4: labeled_graph @ A @ B,B6: labeled_graph @ A @ B,X2: labeled_graph @ A @ C,H: set @ ( product_prod @ C @ B )] :
      ( ( graph_homomorphism @ A @ B @ B @ A4 @ B6 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ A4 ) ) )
     => ( ( graph_homomorphism @ A @ C @ B @ X2 @ A4 @ H )
       => ( graph_homomorphism @ A @ C @ B @ X2 @ B6 @ H ) ) ) ).

% subgraph_preserves_hom
thf(fact_229_subgraph__trans,axiom,
    ! [B: $tType,A: $tType,G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B,G_3: labeled_graph @ A @ B] :
      ( ( graph_homomorphism @ A @ B @ B @ G_12 @ G_22 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_12 ) ) )
     => ( ( graph_homomorphism @ A @ B @ B @ G_22 @ G_3 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_22 ) ) )
       => ( graph_homomorphism @ A @ B @ B @ G_12 @ G_3 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_12 ) ) ) ) ) ).

% subgraph_trans
thf(fact_230_subgraph__subset_I1_J,axiom,
    ! [B: $tType,A: $tType,G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B] :
      ( ( graph_homomorphism @ A @ B @ B @ G_12 @ G_22 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_12 ) ) )
     => ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_12 ) @ ( labeled_vertices @ A @ B @ G_22 ) ) ) ).

% subgraph_subset(1)
thf(fact_231_subgraph__def,axiom,
    ! [B: $tType,A: $tType,G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B] :
      ( ( graph_homomorphism @ A @ B @ B @ G_12 @ G_22 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_12 ) ) )
      = ( ( G_12
          = ( restrict @ A @ B @ G_12 ) )
        & ( G_22
          = ( restrict @ A @ B @ G_22 ) )
        & ( ( graph_union @ A @ B @ G_12 @ G_22 )
          = G_22 ) ) ) ).

% subgraph_def
thf(fact_232_subgraph__subset_I2_J,axiom,
    ! [B: $tType,A: $tType,G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B] :
      ( ( graph_homomorphism @ A @ B @ B @ G_12 @ G_22 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_12 ) ) )
     => ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ ( restrict @ A @ B @ G_12 ) ) @ ( labeled_edges @ A @ B @ G_22 ) ) ) ).

% subgraph_subset(2)
thf(fact_233_subgraph__def2,axiom,
    ! [B: $tType,A: $tType,G_12: labeled_graph @ A @ B,G_22: labeled_graph @ A @ B] :
      ( ( G_12
        = ( restrict @ A @ B @ G_12 ) )
     => ( ( G_22
          = ( restrict @ A @ B @ G_22 ) )
       => ( ( graph_homomorphism @ A @ B @ B @ G_12 @ G_22 @ ( id_on @ B @ ( labeled_vertices @ A @ B @ G_12 ) ) )
          = ( ( ord_less_eq @ ( set @ B ) @ ( labeled_vertices @ A @ B @ G_12 ) @ ( labeled_vertices @ A @ B @ G_22 ) )
            & ( ord_less_eq @ ( set @ ( product_prod @ A @ ( product_prod @ B @ B ) ) ) @ ( labeled_edges @ A @ B @ G_12 ) @ ( labeled_edges @ A @ B @ G_22 ) ) ) ) ) ) ).

% subgraph_def2
thf(fact_234_gr_I1_J,axiom,
    ( ( getRel @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ ( standard_S_Idt @ a ) @ g )
    = ( id_on @ ( sum_sum @ a @ b ) @ ( labeled_vertices @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) ) ) ).

% gr(1)
thf(fact_235_insert__subsetI,axiom,
    ! [A: $tType,X3: A,A4: set @ A,X2: set @ A] :
      ( ( member @ A @ X3 @ A4 )
     => ( ( ord_less_eq @ ( set @ A ) @ X2 @ A4 )
       => ( ord_less_eq @ ( set @ A ) @ ( insert @ A @ X3 @ X2 ) @ A4 ) ) ) ).

% insert_subsetI
thf(fact_236_ssubst__Pair__rhs,axiom,
    ! [B: $tType,A: $tType,R: A,S: B,R2: set @ ( product_prod @ A @ B ),S2: B] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R @ S ) @ R2 )
     => ( ( S2 = S )
       => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R @ S2 ) @ R2 ) ) ) ).

% ssubst_Pair_rhs
thf(fact_237_subset__emptyI,axiom,
    ! [A: $tType,A4: set @ A] :
      ( ! [X5: A] :
          ~ ( member @ A @ X5 @ A4 )
     => ( ord_less_eq @ ( set @ A ) @ A4 @ ( bot_bot @ ( set @ A ) ) ) ) ).

% subset_emptyI
thf(fact_238_getRel__subgraph,axiom,
    ! [A: $tType,B: $tType,Y: A,Z2: A,L3: B,G: labeled_graph @ B @ A,G7: labeled_graph @ B @ A] :
      ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y @ Z2 ) @ ( getRel @ B @ A @ L3 @ G ) )
     => ( ( graph_homomorphism @ B @ A @ A @ G @ G7 @ ( id_on @ A @ ( labeled_vertices @ B @ A @ G ) ) )
       => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y @ Z2 ) @ ( getRel @ B @ A @ L3 @ G7 ) ) ) ) ).

% getRel_subgraph
thf(fact_239_gr_I2_J,axiom,
    ( ( getRel @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ ( standard_S_Bot @ a ) @ g )
    = ( bot_bot @ ( set @ ( product_prod @ ( sum_sum @ a @ b ) @ ( sum_sum @ a @ b ) ) ) ) ) ).

% gr(2)
thf(fact_240_Standard__Constant_Odistinct_I7_J,axiom,
    ! [V: $tType] :
      ( ( standard_S_Bot @ V )
     != ( standard_S_Idt @ V ) ) ).

% Standard_Constant.distinct(7)
thf(fact_241_getRel__homR,axiom,
    ! [C: $tType,A: $tType,B: $tType,Y: A,Z2: A,L3: B,G: labeled_graph @ B @ A,U: C,F: set @ ( product_prod @ A @ C ),V3: C] :
      ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y @ Z2 ) @ ( getRel @ B @ A @ L3 @ G ) )
     => ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ Y @ U ) @ F )
       => ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ Z2 @ V3 ) @ F )
         => ( member @ ( product_prod @ C @ C ) @ ( product_Pair @ C @ C @ U @ V3 ) @ ( getRel @ B @ C @ L3 @ ( map_graph @ A @ C @ B @ F @ G ) ) ) ) ) ) ).

% getRel_homR
thf(fact_242_getRel__dom_I2_J,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B,A2: B,B2: B,L3: A] :
      ( ( G
        = ( restrict @ A @ B @ G ) )
     => ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A2 @ B2 ) @ ( getRel @ A @ B @ L3 @ G ) )
       => ( member @ B @ B2 @ ( labeled_vertices @ A @ B @ G ) ) ) ) ).

% getRel_dom(2)
thf(fact_243_getRel__dom_I1_J,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B,A2: B,B2: B,L3: A] :
      ( ( G
        = ( restrict @ A @ B @ G ) )
     => ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ A2 @ B2 ) @ ( getRel @ A @ B @ L3 @ G ) )
       => ( member @ B @ A2 @ ( labeled_vertices @ A @ B @ G ) ) ) ) ).

% getRel_dom(1)
thf(fact_244_nonempty__rule,axiom,
    ! [A: $tType,B: $tType,G: labeled_graph @ A @ B] :
      ( ( G
        = ( restrict @ A @ B @ G ) )
     => ( ( maintained @ A @ nat @ B @ ( standa244753842y_rule @ A ) @ G )
        = ( ( labeled_vertices @ A @ B @ G )
         != ( bot_bot @ ( set @ B ) ) ) ) ) ).

% nonempty_rule
thf(fact_245_le__numeral__extra_I4_J,axiom,
    ! [A: $tType] :
      ( ( linord1659791738miring @ A )
     => ( ord_less_eq @ A @ ( one_one @ A ) @ ( one_one @ A ) ) ) ).

% le_numeral_extra(4)
thf(fact_246__092_060open_062maintained_A_Isymmetry__rule_AS__Idt_J_AG_092_060close_062,axiom,
    maintained @ ( standard_Constant @ a ) @ nat @ ( sum_sum @ a @ b ) @ ( standa1805702094y_rule @ ( standard_Constant @ a ) @ ( standard_S_Idt @ a ) ) @ g ).

% \<open>maintained (symmetry_rule S_Idt) G\<close>
thf(fact_247__092_060open_062maintained_A_Itransitive__rule_AS__Idt_J_AG_092_060close_062,axiom,
    maintained @ ( standard_Constant @ a ) @ nat @ ( sum_sum @ a @ b ) @ ( standa2114124375e_rule @ ( standard_Constant @ a ) @ ( standard_S_Idt @ a ) ) @ g ).

% \<open>maintained (transitive_rule S_Idt) G\<close>
thf(fact_248_le__numeral__extra_I3_J,axiom,
    ! [A: $tType] :
      ( ( linord1659791738miring @ A )
     => ( ord_less_eq @ A @ ( zero_zero @ A ) @ ( zero_zero @ A ) ) ) ).

% le_numeral_extra(3)
thf(fact_249__092_060open_062maintained_A_Icongruence__rule_AS__Idt_Al_J_AG_092_060close_062,axiom,
    maintained @ ( standard_Constant @ a ) @ nat @ ( sum_sum @ a @ b ) @ ( standa1068660421e_rule @ ( standard_Constant @ a ) @ ( standard_S_Idt @ a ) @ l ) @ g ).

% \<open>maintained (congruence_rule S_Idt l) G\<close>
thf(fact_250_maintained__refl,axiom,
    ! [B: $tType,C: $tType,A: $tType,R2: labeled_graph @ A @ B,G: labeled_graph @ A @ C] : ( maintained @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ R2 @ R2 ) @ G ) ).

% maintained_refl
thf(fact_251_maintainedD2,axiom,
    ! [A: $tType,C: $tType,B: $tType,A4: labeled_graph @ A @ B,B6: labeled_graph @ A @ B,G: labeled_graph @ A @ C,F: set @ ( product_prod @ B @ C )] :
      ( ( maintained @ A @ B @ C @ ( product_Pair @ ( labeled_graph @ A @ B ) @ ( labeled_graph @ A @ B ) @ A4 @ B6 ) @ G )
     => ( ( graph_homomorphism @ A @ B @ C @ A4 @ G @ F )
       => ~ ! [G5: set @ ( product_prod @ B @ C )] :
              ( ( graph_homomorphism @ A @ B @ C @ B6 @ G @ G5 )
             => ~ ( ord_less_eq @ ( set @ ( product_prod @ B @ C ) ) @ F @ G5 ) ) ) ) ).

% maintainedD2
thf(fact_252_equivalence,axiom,
    ! [B: $tType,A: $tType,G: labeled_graph @ A @ B,I2: A] :
      ( ( G
        = ( restrict @ A @ B @ G ) )
     => ( ! [X5: product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat )] :
            ( ( member @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) @ X5 @ ( insert @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) @ ( standa245363227y_rule @ A @ I2 ) @ ( insert @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) @ ( standa2114124375e_rule @ A @ I2 ) @ ( insert @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) @ ( standa1805702094y_rule @ A @ I2 ) @ ( bot_bot @ ( set @ ( product_prod @ ( labeled_graph @ A @ nat ) @ ( labeled_graph @ A @ nat ) ) ) ) ) ) ) )
           => ( maintained @ A @ nat @ B @ X5 @ G ) )
       => ( equiv_equiv @ B @ ( labeled_vertices @ A @ B @ G ) @ ( getRel @ A @ B @ I2 @ G ) ) ) ) ).

% equivalence

% Type constructors (27)
thf(tcon_fun___Orderings_Oorder__bot,axiom,
    ! [A10: $tType,A11: $tType] :
      ( ( order_bot @ A11 )
     => ( order_bot @ ( A10 > A11 ) ) ) ).

thf(tcon_fun___Orderings_Opreorder,axiom,
    ! [A10: $tType,A11: $tType] :
      ( ( preorder @ A11 )
     => ( preorder @ ( A10 > A11 ) ) ) ).

thf(tcon_fun___Orderings_Oorder,axiom,
    ! [A10: $tType,A11: $tType] :
      ( ( order @ A11 )
     => ( order @ ( A10 > A11 ) ) ) ).

thf(tcon_fun___Orderings_Oord,axiom,
    ! [A10: $tType,A11: $tType] :
      ( ( ord @ A11 )
     => ( ord @ ( A10 > A11 ) ) ) ).

thf(tcon_fun___Orderings_Obot,axiom,
    ! [A10: $tType,A11: $tType] :
      ( ( bot @ A11 )
     => ( bot @ ( A10 > A11 ) ) ) ).

thf(tcon_Nat_Onat___Groups_Ocanonically__ordered__monoid__add,axiom,
    canoni770627133id_add @ nat ).

thf(tcon_Nat_Onat___Rings_Olinordered__nonzero__semiring,axiom,
    linord1659791738miring @ nat ).

thf(tcon_Nat_Onat___Orderings_Oorder__bot_1,axiom,
    order_bot @ nat ).

thf(tcon_Nat_Onat___Rings_Ozero__neq__one,axiom,
    zero_neq_one @ nat ).

thf(tcon_Nat_Onat___Orderings_Opreorder_2,axiom,
    preorder @ nat ).

thf(tcon_Nat_Onat___Orderings_Olinorder,axiom,
    linorder @ nat ).

thf(tcon_Nat_Onat___Orderings_Oorder_3,axiom,
    order @ nat ).

thf(tcon_Nat_Onat___Orderings_Oord_4,axiom,
    ord @ nat ).

thf(tcon_Nat_Onat___Orderings_Obot_5,axiom,
    bot @ nat ).

thf(tcon_Nat_Onat___Groups_Ozero,axiom,
    zero @ nat ).

thf(tcon_Nat_Onat___Groups_Oone,axiom,
    one @ nat ).

thf(tcon_Set_Oset___Orderings_Oorder__bot_6,axiom,
    ! [A10: $tType] : ( order_bot @ ( set @ A10 ) ) ).

thf(tcon_Set_Oset___Orderings_Opreorder_7,axiom,
    ! [A10: $tType] : ( preorder @ ( set @ A10 ) ) ).

thf(tcon_Set_Oset___Orderings_Oorder_8,axiom,
    ! [A10: $tType] : ( order @ ( set @ A10 ) ) ).

thf(tcon_Set_Oset___Orderings_Oord_9,axiom,
    ! [A10: $tType] : ( ord @ ( set @ A10 ) ) ).

thf(tcon_Set_Oset___Orderings_Obot_10,axiom,
    ! [A10: $tType] : ( bot @ ( set @ A10 ) ) ).

thf(tcon_HOL_Obool___Orderings_Oorder__bot_11,axiom,
    order_bot @ $o ).

thf(tcon_HOL_Obool___Orderings_Opreorder_12,axiom,
    preorder @ $o ).

thf(tcon_HOL_Obool___Orderings_Olinorder_13,axiom,
    linorder @ $o ).

thf(tcon_HOL_Obool___Orderings_Oorder_14,axiom,
    order @ $o ).

thf(tcon_HOL_Obool___Orderings_Oord_15,axiom,
    ord @ $o ).

thf(tcon_HOL_Obool___Orderings_Obot_16,axiom,
    bot @ $o ).

% Conjectures (1)
thf(conj_0,conjecture,
    ( ( ( labeled_vertices @ ( standard_Constant @ a ) @ nat @ ( labeled_LG @ ( standard_Constant @ a ) @ nat @ ( insert @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) @ ( standard_S_Idt @ a ) @ ( product_Pair @ nat @ nat @ ( zero_zero @ nat ) @ ( zero_zero @ nat ) ) ) @ ( bot_bot @ ( set @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) )
      = ( domain @ nat @ ( sum_sum @ a @ b ) @ ( insert @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) @ ( product_Pair @ nat @ ( sum_sum @ a @ b ) @ ( zero_zero @ nat ) @ v ) @ ( bot_bot @ ( set @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) ) ) ) ) )
    & ( ( labeled_LG @ ( standard_Constant @ a ) @ nat @ ( insert @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) @ ( standard_S_Idt @ a ) @ ( product_Pair @ nat @ nat @ ( zero_zero @ nat ) @ ( zero_zero @ nat ) ) ) @ ( bot_bot @ ( set @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) )
      = ( restrict @ ( standard_Constant @ a ) @ nat @ ( labeled_LG @ ( standard_Constant @ a ) @ nat @ ( insert @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) @ ( standard_S_Idt @ a ) @ ( product_Pair @ nat @ nat @ ( zero_zero @ nat ) @ ( zero_zero @ nat ) ) ) @ ( bot_bot @ ( set @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) ) )
    & ( g
      = ( restrict @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) )
    & ( ord_less_eq @ ( set @ ( sum_sum @ a @ b ) ) @ ( image @ nat @ ( sum_sum @ a @ b ) @ ( insert @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) @ ( product_Pair @ nat @ ( sum_sum @ a @ b ) @ ( zero_zero @ nat ) @ v ) @ ( bot_bot @ ( set @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) ) ) ) @ ( labeled_vertices @ ( standard_Constant @ a ) @ nat @ ( labeled_LG @ ( standard_Constant @ a ) @ nat @ ( insert @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) @ ( standard_S_Idt @ a ) @ ( product_Pair @ nat @ nat @ ( zero_zero @ nat ) @ ( zero_zero @ nat ) ) ) @ ( bot_bot @ ( set @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) ) ) @ ( labeled_vertices @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) )
    & ( univalent @ nat @ ( sum_sum @ a @ b ) @ ( insert @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) @ ( product_Pair @ nat @ ( sum_sum @ a @ b ) @ ( zero_zero @ nat ) @ v ) @ ( bot_bot @ ( set @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) ) ) ) )
    & ( edge_preserving @ nat @ ( sum_sum @ a @ b ) @ ( standard_Constant @ a ) @ ( insert @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) @ ( product_Pair @ nat @ ( sum_sum @ a @ b ) @ ( zero_zero @ nat ) @ v ) @ ( bot_bot @ ( set @ ( product_prod @ nat @ ( sum_sum @ a @ b ) ) ) ) ) @ ( labeled_edges @ ( standard_Constant @ a ) @ nat @ ( labeled_LG @ ( standard_Constant @ a ) @ nat @ ( insert @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) @ ( standard_S_Idt @ a ) @ ( product_Pair @ nat @ nat @ ( zero_zero @ nat ) @ ( zero_zero @ nat ) ) ) @ ( bot_bot @ ( set @ ( product_prod @ ( standard_Constant @ a ) @ ( product_prod @ nat @ nat ) ) ) ) ) @ ( insert @ nat @ ( zero_zero @ nat ) @ ( bot_bot @ ( set @ nat ) ) ) ) ) @ ( labeled_edges @ ( standard_Constant @ a ) @ ( sum_sum @ a @ b ) @ g ) ) ) ).

%------------------------------------------------------------------------------